diff --git a/code/modules/cooking/machinery/smartfridge.dm b/code/modules/cooking/machinery/smartfridge.dm index 19bb8bdd9f9..1d2e4ad6281 100644 --- a/code/modules/cooking/machinery/smartfridge.dm +++ b/code/modules/cooking/machinery/smartfridge.dm @@ -428,10 +428,35 @@ var/K = item_quants[i] var/count = item_quants[K] if(count > 0) - items.Add(list(list("display_name" = capitalize(K), "vend" = i, "quantity" = count))) + + var/obj/item/item_used = null + for (var/obj/item/O in contents) + if(O.name == K) + item_used = O + break + + var/icon/item_icon = null + if(item_used) + if(istype(item_used, /obj/item/seeds)) + var/obj/item/seeds/S = item_used + item_icon = S.update_appearance(TRUE) + else + item_icon = new /icon(item_used.icon, item_used.icon_state) + + var/final_icon = null + if(item_icon) + final_icon = icon2base64(item_icon) + + items.Add(list(list( + "display_name" = capitalize(K), + "vend" = i, + "quantity" = count, + "icon" = final_icon, + ))) if(length(items) > 0) data["contents"] = items + return data /obj/machinery/smartfridge/ui_act(action, list/params, datum/tgui/ui, datum/ui_state/state) diff --git a/html/changelogs/FridgeUpgradeWooo.yml b/html/changelogs/FridgeUpgradeWooo.yml new file mode 100644 index 00000000000..0536ba7f4bd --- /dev/null +++ b/html/changelogs/FridgeUpgradeWooo.yml @@ -0,0 +1,6 @@ +author: TheGreyWolf + +delete-after: True + +changes: + - rscadd: "Smartfridges and variants got an UI upgrade." diff --git a/tgui/packages/tgui/interfaces/SmartFridge.tsx b/tgui/packages/tgui/interfaces/SmartFridge.tsx index 604470778f4..ee0c6ef1b63 100644 --- a/tgui/packages/tgui/interfaces/SmartFridge.tsx +++ b/tgui/packages/tgui/interfaces/SmartFridge.tsx @@ -1,13 +1,6 @@ import { BooleanLike } from '../../common/react'; import { useBackend, useLocalState } from '../backend'; -import { - BlockQuote, - Box, - Button, - LabeledList, - Section, - Input, -} from '../components'; +import { BlockQuote, Box, Button, Section, Input } from '../components'; import { Window } from '../layouts'; export type FridgeData = { @@ -23,6 +16,7 @@ type Item = { display_name: string; vend: number; quantity: number; + icon?: string | null; }; export const SmartFridge = (props, context) => { @@ -95,57 +89,92 @@ export const ContentsWindow = (props, context) => { return (
- + {itemListSorted.map((item) => ( - - x{item.quantity}  - {item.quantity > 0 ? ( -
); };