diff --git a/code/modules/tgui/tgui_number_input.dm b/code/modules/tgui/tgui_number_input.dm index aa189b1d2039..81be13f48730 100644 --- a/code/modules/tgui/tgui_number_input.dm +++ b/code/modules/tgui/tgui_number_input.dm @@ -145,6 +145,7 @@ "min_value" = min_value, "preferences" = list(), "title" = title, + "integer_only" = integer_only ) /datum/tgui_input_number/ui_data(mob/user) diff --git a/tgui/packages/tgui/interfaces/NumberInputModal.tsx b/tgui/packages/tgui/interfaces/NumberInputModal.tsx index 64895a1a2738..32d7161d8faf 100644 --- a/tgui/packages/tgui/interfaces/NumberInputModal.tsx +++ b/tgui/packages/tgui/interfaces/NumberInputModal.tsx @@ -13,11 +13,19 @@ type NumberInputData = { min_value: number | null; timeout: number; title: string; + integer_only: 0 | 1; }; export const NumberInputModal = () => { const { act, data } = useBackend(); - const { init_value, large_buttons, message = '', timeout, title } = data; + const { + init_value, + large_buttons, + message = '', + timeout, + title, + integer_only, + } = data; const [input, setInput] = useLocalState('input', init_value); const onChange = (value: number) => { if (value === input) { @@ -56,7 +64,12 @@ export const NumberInputModal = () => { {message} - + @@ -72,7 +85,7 @@ export const NumberInputModal = () => { const InputArea = (props) => { const { act, data } = useBackend(); const { min_value, max_value, init_value } = data; - const { input, onClick, onChange } = props; + const { input, onClick, onChange, integer_only } = props; return ( @@ -94,6 +107,7 @@ const InputArea = (props) => { onChange={(_, value) => onChange(value)} onEnter={(_, value) => act('submit', { entry: value })} value={input} + allowFloats={integer_only === 1 ? false : true} />