[MIRROR] rework tgui say long message handling (#10198)

Co-authored-by: Selis <12716288+ItsSelis@users.noreply.github.com>
Co-authored-by: Kashargul <144968721+Kashargul@users.noreply.github.com>
This commit is contained in:
CHOMPStation2StaffMirrorBot
2025-02-20 05:39:28 -07:00
committed by GitHub
parent aae4063c27
commit 7e80962c40
2 changed files with 19 additions and 8 deletions

View File

@@ -130,4 +130,8 @@
if(type == "entry" || type == "force")
handle_entry(type, payload)
return TRUE
if(type == "lenwarn")
var/mlen = payload["length"]
var/maxlen = payload["maxlength"]
to_chat(client, span_warning(span_bold("Warning") + ": Message with [mlen] exceeded the maximum length of [maxlen]."))
return FALSE

View File

@@ -51,7 +51,7 @@ export function TguiSay() {
keyof typeof RADIO_PREFIXES | null
>(null);
const [size, setSize] = useState(WindowSize.Small);
const [maxLength, setMaxLength] = useState(1024);
const [maxLength, setMaxLength] = useState(4096);
const [minimumHeight, setMinimumHeight] = useState(WindowSize.Small);
const [minimumWidth, setMinimumWidth] = useState(WindowSize.Width);
const [lightMode, setLightMode] = useState(false);
@@ -117,14 +117,21 @@ export function TguiSay() {
const iterator = channelIterator.current;
const prefix = currentPrefix ?? '';
if (value?.length && value.length < maxLength) {
if (value?.length) {
if (value.length < maxLength) {
chatHistory.current.add(value);
Byond.sendMessage('entry', {
channel: iterator.current(),
entry: iterator.isSay() ? prefix + value : value,
});
} else {
Byond.sendMessage('lenwarn', {
length: value.length,
maxlength: maxLength,
});
return;
}
}
handleClose();
}