diff --git a/code/modules/plumbing/plumbers/reaction_chamber.dm b/code/modules/plumbing/plumbers/reaction_chamber.dm index 5fb124d8d7c..2e9f05d6fc5 100644 --- a/code/modules/plumbing/plumbers/reaction_chamber.dm +++ b/code/modules/plumbing/plumbers/reaction_chamber.dm @@ -83,11 +83,14 @@ /obj/machinery/plumbing/reaction_chamber/ui_data(mob/user) var/list/data = list() - var/list/text_reagents = list() + var/list/reagents_data = list() for(var/datum/reagent/required_reagent as anything in required_reagents) //make a list where the key is text, because that looks alot better in the ui than a typepath - text_reagents[initial(required_reagent.name)] = required_reagents[required_reagent] + var/list/reagent_data = list() + reagent_data["name"] = initial(required_reagent.name) + reagent_data["required_reagent"] = required_reagents[required_reagent] + reagents_data += list(reagent_data) - data["reagents"] = text_reagents + data["reagents"] = reagents_data data["emptying"] = emptying data["temperature"] = round(reagents.chem_temp, 0.1) data["ph"] = round(reagents.ph, 0.01) diff --git a/tgui/packages/tgui/interfaces/ChemReactionChamber.js b/tgui/packages/tgui/interfaces/ChemReactionChamber.js index 0105b803358..1479750fa11 100644 --- a/tgui/packages/tgui/interfaces/ChemReactionChamber.js +++ b/tgui/packages/tgui/interfaces/ChemReactionChamber.js @@ -1,7 +1,5 @@ -import { map } from 'common/collections'; -import { classes } from 'common/react'; import { useBackend, useLocalState } from '../backend'; -import { AnimatedNumber, Box, Button, Flex, Input, LabeledList, NumberInput, Section, RoundGauge } from '../components'; +import { AnimatedNumber, Box, Button, Input, LabeledList, NumberInput, Section, RoundGauge, Stack } from '../components'; import { Window } from '../layouts'; import { round, toFixed } from 'common/math'; @@ -30,181 +28,206 @@ export const ChemReactionChamber = (props, context) => { return ( - -
- - {"Target:"} - - act('temperature', { - target: value, - })} /> - - )}> - - - toFixed(value) + ' K'} /> - - - - - {(_, value) => ( - + + + +
+ + {"Target:"} + + + null} - left={-7.5} - position="absolute" - size={1.50} - ranges={{ - "red": [-0.22, 1.5], - "orange": [1.5, 3], - "yellow": [3, 4.5], - "olive": [4.5, 5], - "good": [5, 6], - "green": [6, 8.5], - "teal": [8.5, 9.5], - "blue": [9.5, 11], - "purple": [11, 12.5], - "violet": [12.5, 14], - }} /> - )} - - - round(value, 3)} /> - - - - -
-
- {"Reacting"} - - ) || ( - - {emptying ? "Emptying" : "Filling"} - - ) - )}> - - - - - act('acidic', { - target: value, - })} /> - - - - - - - - act('alkaline', { - target: value, - })} /> - - - - - - - setReagentName(value)} /> - - - setReagentQuantity(value)} /> - -
+ maxValue={1000} + onDrag={(e, value) => act('temperature', { + target: value, + })} /> +
+
+ )}> + + + + + Current Temperature: + + + toFixed(value) + ' K'} /> + + + null} + position="absolute" + size={1.50} + top={0.5} + right={0.5} + ranges={{ + "red": [-0.22, 1.5], + "orange": [1.5, 3], + "yellow": [3, 4.5], + "olive": [4.5, 5], + "good": [5, 6], + "green": [6, 8.5], + "teal": [8.5, 9.5], + "blue": [9.5, 11], + "purple": [11, 12.5], + "violet": [12.5, 14], + }} /> + + + + + + + {"ph:"} + + + {ph} + + +
+ + +
+ {"Reacting"} + + ) || ( + + {emptying ? "Emptying" : "Filling"} + + ) + )}> + + + + + act('acidic', { + target: value, + })} /> + + + act('alkaline', { + target: value, + })} /> + + + + + + + + setReagentName(value)} /> + + + setReagentQuantity(value)} /> + + + +
+
+
);