From 345391fd8c579614491951f8650408f2e074fe5e Mon Sep 17 00:00:00 2001 From: metamuffin Date: Sat, 23 Sep 2023 23:00:58 +0200 Subject: chat control messages --- client-web/source/chat.ts | 11 +++++++++++ 1 file changed, 11 insertions(+) (limited to 'client-web/source/chat.ts') diff --git a/client-web/source/chat.ts b/client-web/source/chat.ts index a28f6c7..6025878 100644 --- a/client-web/source/chat.ts +++ b/client-web/source/chat.ts @@ -16,6 +16,11 @@ import { User } from "./user/mod.ts"; export let GLOBAL_CHAT: Chat; +interface ControlMessage { + join?: User, + leave?: User, +} + export class Chat { messages: HTMLElement controls: HTMLElement @@ -77,6 +82,12 @@ export class Chat { this.messages.firstChild?.remove() } + add_control_message(m: ControlMessage) { + const el = e("div", { class: ["message", "control-message"] }, e("span", { class: "author" }, m.join?.display_name ?? m.leave?.display_name ?? ""), ` ${m.join ? "joined" : "left"} the room.`) + this.messages.append(el) + el.scrollIntoView({ block: "end", behavior: "smooth", inline: "end" }) + } + add_message(sender: User, message: ChatMessage) { const els = [] if (message.text) els.push(e("span", { class: "text" }, message.text)) -- cgit v1.2.3-70-g09d2