diff --git a/tgui/packages/tgui/interfaces/PreferencesMenu/preferences/features/base.tsx b/tgui/packages/tgui/interfaces/PreferencesMenu/preferences/features/base.tsx index 66d3fe731d4..75367ba7e41 100644 --- a/tgui/packages/tgui/interfaces/PreferencesMenu/preferences/features/base.tsx +++ b/tgui/packages/tgui/interfaces/PreferencesMenu/preferences/features/base.tsx @@ -3,8 +3,8 @@ import { BooleanLike, classes } from 'common/react'; import { ComponentType, createComponentVNode, InfernoNode } from 'inferno'; import { VNodeFlags } from 'inferno-vnode-flags'; import { sendAct, useBackend, useLocalState } from '../../../../backend'; -// SKYRAT EDIT -import { Box, Button, Dropdown, Input, NumberInput, Stack, TextArea } from '../../../../components'; +// SKYRAT EDIT - adds TextArea to imports +import { Box, Button, Dropdown, Input, NumberInput, Slider, Stack, TextArea } from '../../../../components'; // SKYRAT EDIT END import { createSetPreference, PreferencesMenuData } from '../../data'; import { ServerPreferencesFetcher } from '../../ServerPreferencesFetcher'; @@ -304,6 +304,27 @@ export const FeatureNumberInput = ( ); }; +export const FeatureSliderInput = ( + props: FeatureValueProps +) => { + if (!props.serverData) { + return Loading...; + } + + return ( + { + props.handleSetValue(value); + }} + minValue={props.serverData.minimum} + maxValue={props.serverData.maximum} + step={props.serverData.step} + value={props.value} + stepPixelSize={10} + /> + ); +}; + export const FeatureValueInput = ( props: { feature: Feature; diff --git a/tgui/packages/tgui/interfaces/PreferencesMenu/preferences/features/character_preferences/tts_voice.tsx b/tgui/packages/tgui/interfaces/PreferencesMenu/preferences/features/character_preferences/tts_voice.tsx index 9b347b0f4a9..a4aea70267d 100644 --- a/tgui/packages/tgui/interfaces/PreferencesMenu/preferences/features/character_preferences/tts_voice.tsx +++ b/tgui/packages/tgui/interfaces/PreferencesMenu/preferences/features/character_preferences/tts_voice.tsx @@ -1,4 +1,4 @@ -import { FeatureChoiced, FeatureChoicedServerData, FeatureDropdownInput, FeatureValueProps, FeatureNumeric, FeatureNumberInput } from '../base'; +import { FeatureChoiced, FeatureChoicedServerData, FeatureDropdownInput, FeatureValueProps, FeatureNumeric, FeatureSliderInput } from '../base'; import { Stack, Button } from '../../../../../components'; const FeatureTTSDropdownInput = ( @@ -40,5 +40,5 @@ export const tts_voice: FeatureChoiced = { export const tts_voice_pitch: FeatureNumeric = { name: 'Voice Pitch Adjustment', - component: FeatureNumberInput, + component: FeatureSliderInput, }; diff --git a/tgui/packages/tgui/interfaces/PreferencesMenu/preferences/features/game_preferences/sounds.tsx b/tgui/packages/tgui/interfaces/PreferencesMenu/preferences/features/game_preferences/sounds.tsx index 9f417ad885f..d4bb7a94718 100644 --- a/tgui/packages/tgui/interfaces/PreferencesMenu/preferences/features/game_preferences/sounds.tsx +++ b/tgui/packages/tgui/interfaces/PreferencesMenu/preferences/features/game_preferences/sounds.tsx @@ -1,5 +1,5 @@ import { multiline } from 'common/string'; -import { CheckboxInput, FeatureChoiced, FeatureDropdownInput, FeatureToggle, Feature, FeatureNumberInput } from '../base'; +import { CheckboxInput, FeatureChoiced, FeatureDropdownInput, FeatureToggle, Feature, FeatureSliderInput } from '../base'; export const sound_ambience: FeatureToggle = { name: 'Enable ambience', @@ -49,7 +49,7 @@ export const sound_tts_volume: Feature = { name: 'TTS Volume', category: 'SOUND', description: 'The volume that the text-to-speech sounds will play at.', - component: FeatureNumberInput, + component: FeatureSliderInput, }; export const sound_jukebox: FeatureToggle = {