diff --git a/code/modules/modular_computers/computers/item/tablet.dm b/code/modules/modular_computers/computers/item/tablet.dm
index 2c6bef81c2..113a0b33fa 100644
--- a/code/modules/modular_computers/computers/item/tablet.dm
+++ b/code/modules/modular_computers/computers/item/tablet.dm
@@ -43,6 +43,7 @@
to_chat(usr, "You slide \the [pen] into \the [src]'s pen slot.")
inserted_item = pen
playsound(src, 'sound/machines/button.ogg', 50, 1)
+ SStgui.update_uis(src)
/obj/item/modular_computer/tablet/proc/remove_pen()
if(hasSiliconAccessInArea(usr) || !usr.canUseTopic(src, BE_CLOSE, FALSE, NO_TK))
@@ -52,6 +53,7 @@
usr.put_in_hands(inserted_item)
to_chat(usr, "You remove [inserted_item] from \the [src]'s pen slot.")
inserted_item = null
+ SStgui.update_uis(src)
else
to_chat(usr, "\The [src] does not have a pen in it!")
@@ -78,9 +80,21 @@
QDEL_NULL(inserted_item)
return ..()
+/obj/item/modular_computer/tablet/ui_act(action, params)
+ . = ..()
+ if(.)
+ return
+ if(action == "TABLET_eject_pen")
+ if(istype(src, /obj/item/modular_computer/tablet))
+ var/obj/item/modular_computer/tablet/self = src
+ if(self.can_have_pen)
+ self.remove_pen()
+ return TRUE
+
/obj/item/modular_computer/tablet/ui_data(mob/user)
. = ..()
- .["PC_showpeneject"] = inserted_item ? 1 : 0
+ .["TABLET_show_pen_eject"] = inserted_item ? 1 : 0
+
/obj/item/modular_computer/tablet/update_icon_state()
if(has_variants)
if(!finish_color)
diff --git a/tgui/packages/tgui/layouts/NtosWindow.js b/tgui/packages/tgui/layouts/NtosWindow.js
index 5c282c369a..b6a0146431 100644
--- a/tgui/packages/tgui/layouts/NtosWindow.js
+++ b/tgui/packages/tgui/layouts/NtosWindow.js
@@ -28,7 +28,7 @@ export const NtosWindow = (props, context) => {
PC_stationtime,
PC_programheaders = [],
PC_showexitprogram,
- PC_showpeneject,
+ TABLET_show_pen_eject,
} = data;
return (
{
src={resolveAsset(PC_apclinkicon)} />
)}
- {!!PC_showpeneject && (
+ {!!TABLET_show_pen_eject && (