From 8a3a7bb1fb017bab6dcce849146131ef01781642 Mon Sep 17 00:00:00 2001 From: David Skoland Date: Sat, 18 Nov 2023 22:52:55 +0100 Subject: Make links in OOC chat clickable --- webAO/packets/handlers/handleCT.ts | 15 +++++++++++++-- 1 file changed, 13 insertions(+), 2 deletions(-) (limited to 'webAO/packets/handlers/handleCT.ts') diff --git a/webAO/packets/handlers/handleCT.ts b/webAO/packets/handlers/handleCT.ts index 247f1a7..84329d3 100644 --- a/webAO/packets/handlers/handleCT.ts +++ b/webAO/packets/handlers/handleCT.ts @@ -9,9 +9,20 @@ const { mode } = queryParser(); export const handleCT = (args: string[]) => { if (mode !== "replay") { const oocLog = document.getElementById("client_ooclog")!; - oocLog.innerHTML += `${prepChat(args[1])}: ${prepChat(args[2])}\r\n`; + const username = prepChat(args[1]); + let message = addLinks(prepChat(args[2])); + // Replace newlines with br + message = message.replace(/\n/g, "
"); + + oocLog.innerHTML += `${username}: ${message}
`; if (oocLog.scrollTop > oocLog.scrollHeight - 600) { oocLog.scrollTop = oocLog.scrollHeight; } } -} \ No newline at end of file +} + +// If the incoming message contains a link, add a href hyperlink to it +function addLinks(message: string) { + const urlRegex = /(https?:\/\/[^\s]+)/g; + return message.replace(urlRegex, (url) => `${url}`); +} -- cgit