diff options
| author | xXJSONDeruloXx <danielhimebauch@gmail.com> | 2026-09-07 09:30:54 -0400 |
|---|---|---|
| committer | xXJSONDeruloXx <danielhimebauch@gmail.com> | 2026-09-07 09:30:54 -0400 |
| commit | f48ff4b541b1ef877905bda248459460a943dd6e (patch) | |
| tree | fa5b3e00090142b6c4d089b009fdce6ef5dde3ec | |
| parent | 62531dd08e5f12f1f0533ccf8fa6b84c81eb63d4 (diff) | |
| download | decky-lsfg-vk-f48ff4b541b1ef877905bda248459460a943dd6e.tar.gz decky-lsfg-vk-f48ff4b541b1ef877905bda248459460a943dd6e.zip | |
feat: restore multiplier buttonschore/migrate
| -rw-r--r-- | src/components/FpsMultiplierControl.tsx | 72 |
1 files changed, 56 insertions, 16 deletions
diff --git a/src/components/FpsMultiplierControl.tsx b/src/components/FpsMultiplierControl.tsx index 1fd0e78..2c50be1 100644 --- a/src/components/FpsMultiplierControl.tsx +++ b/src/components/FpsMultiplierControl.tsx @@ -1,4 +1,4 @@ -import { Focusable, PanelSectionRow, SliderField } from "@decky/ui"; +import { DialogButton, Focusable, PanelSectionRow } from "@decky/ui"; import { useEffect, useRef } from "react"; import { ConfigurationData } from "../config/configSchema"; import { MULTIPLIER } from "../config/generatedConfigSchema"; @@ -31,23 +31,63 @@ export function FpsMultiplierControl({ return () => cancelAnimationFrame(frame); }, [autoFocus, onAutoFocus]); - const multiplierLabel = config.multiplier === 1 - ? t("MULTIPLIER_OFF", "Off") - : `${config.multiplier}x`; - return ( <PanelSectionRow> - <Focusable ref={focusableRef} noFocusRing> - <SliderField - label={`FPS multiplier · ${multiplierLabel}`} - value={config.multiplier} - min={1} - max={4} - step={1} - notchCount={4} - showValue={false} - onChange={(value) => void onConfigChange(MULTIPLIER, value)} - /> + <Focusable + ref={focusableRef} + noFocusRing + style={{ + marginTop: "6px", + marginBottom: "6px", + 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={() => void onConfigChange(MULTIPLIER, Math.max(1, config.multiplier - 1))} + disabled={config.multiplier <= 1} + > + − + </DialogButton> + <div + style={{ + marginLeft: "20px", + marginRight: "20px", + fontSize: "16px", + fontWeight: "bold", + color: config.multiplier > 4 ? "red" : "white", + minWidth: "60px", + textAlign: "center", + }} + > + {config.multiplier < 2 ? t("MULTIPLIER_OFF", "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={() => void onConfigChange(MULTIPLIER, Math.min(4, config.multiplier + 1))} + disabled={config.multiplier >= 4} + > + + + </DialogButton> </Focusable> </PanelSectionRow> ); |
