Bun, Inferno->React migration (#22529)

Re-creation of https://github.com/Aurorastation/Aurora.3/pull/21046 to
skip merge conflict hell. Brings us modern TGUI.

**ALTERNATE TITLE: TGUI HELLSCAPE PR
ABANDON ALL HOPE YE WHO ENTER HERE**

- [x] Migrate build tools (javascript -> typescript, bun for package
management).
- [x] Upgrade all TGUI dependencies and associated root files to
TG-congruent versions (axios, babel, dompurify, eslint, highlight,
marked, prettier, sass, source-map, stacktrace-parser, typescript).
- [x] InfernoJS -> React migrations
- [x] React cleanup and polish (migrate all remaining .js files to
appropriate .ts or .tsx filetype, all remaining hooks, linting, error
corrections, etc.)
- [ ] Test all remaining TGUI interfaces
This commit is contained in:
Batrachophreno
2026-06-05 09:55:22 -04:00
committed by GitHub
parent a52729c105
commit 0d92359da7
930 changed files with 23130 additions and 50520 deletions
@@ -416,13 +416,10 @@
/obj/item/modular_computer/proc/update_uis()
if(active_program) //Should we update program ui or computer ui?
SSnanoui.update_uis(active_program)
SStgui.update_uis(src)
if(active_program.NM)
SSnanoui.update_uis(active_program.NM)
if(active_program)
SStgui.update_uis(active_program)
else
SStgui.update_uis(src)
SSnanoui.update_uis(src)
/obj/item/modular_computer/proc/check_update_ui_need()
var/ui_update_needed = FALSE
@@ -458,18 +455,6 @@
if(ui_update_needed)
update_uis()
// Used by camera monitor program
/obj/item/modular_computer/check_eye(var/mob/user)
if(active_program)
return active_program.check_eye(user)
return ..()
// Used by camera monitor program
/obj/item/modular_computer/grants_equipment_vision(var/mob/user)
if(active_program)
return active_program.grants_equipment_vision(user)
return ..()
/obj/item/modular_computer/get_cell()
return battery_module ? battery_module.get_cell() : DEVICE_NO_CELL
@@ -37,9 +37,9 @@
/obj/item/modular_computer/proc/get_header_data(list/data)
LAZYINITLIST(data)
data["PC_batteryicon"] = get_battery_icon()
data["PC_batteryicon"] = battery_module ? get_battery_icon() : null
data["PC_showbatteryicon"] = !!battery_module
data["PC_batterypercent"] = battery_module ? "[round(battery_module.battery.percent())] %" : "N/C"
data["PC_batterypercent"] = battery_module ? "[round(battery_module.battery.percent())] %" : null
data["PC_apclinkicon"] = (tesla_link?.enabled && apc_powered) ? "charging.gif" : ""
data["PC_device_theme"] = active_program ? active_program.tgui_theme : "scc"
data["PC_ntneticon"] = get_ntnet_status_icon()
@@ -206,5 +206,15 @@
return UI_INTERACTIVE
. = ..()
if(. < UI_INTERACTIVE)
if(user.machine)
if(user?.machine)
user.unset_machine()
/obj/item/modular_computer/check_eye(mob/user)
if(active_program)
return active_program.check_eye(user)
return ..()
/obj/item/modular_computer/grants_equipment_vision(mob/user)
if(active_program)
return active_program.grants_equipment_vision(user)
return ..()
@@ -19,6 +19,9 @@
/obj/item/modular_computer/silicon/ui_host()
. = computer_host
/obj/item/modular_computer/silicon/ui_state(mob/user)
return GLOB.self_state
/obj/item/modular_computer/silicon/Initialize(mapload)
if(istype(loc, /mob/living/silicon))
computer_host = loc