es_extended
NUI
Notification-focused React UI architecture and event bridge used by sure-es_extended.
NUI
Purpose
The current NUI implementation is focused on:
- queue-based notifications
- a debug JSON tree view
- screen-positioned portal containers
It is not a full inventory, menu, or HUD replacement UI.
Entrypoints
- HTML entry:
nui/index.html - built output:
nui/dist/ - React root:
nui/src/App.tsx
Main React components
App.tsx
Owns:
- debug JSON tree visibility
- placement containers
- NUI
readyfetch to read UI offset - Escape handling that sends
close - mounting the notification component
components/Notification/index.tsx
Owns:
- default limit and timeout state
- event subscriptions
- queue handling
- animated rendering
- placement output through
Portal
Browser-to-game callbacks
Observed fetchNui usage:
readynotification/readyclose
Game-to-browser events
Observed event listeners:
toggleupdatenotification/setDefaultsnotification/add
Notification payload shape
Observed notification entries contain:
idtypetext- optional
duration
Observed defaults payload contains:
defaultLimitdefaultTimeout
Placement model
The app renders portal targets for:
top-starttop-centertop-endcenter-startcenter-centercenter-endbottom-startbottom-centerbottom-end
The notification component is currently mounted at:
Placement.CENTER_END
Important implementation notes
- in development,
fetchNuican return mock data when provided - in production,
fetchNuitargetshttps://${GetParentResourceName()}/${eventName} UI.offsetfromsettings/ui.luacontrols edge padding- notification queue behavior depends on the defaults returned by the Lua side