summaryrefslogtreecommitdiff
path: root/client-web/source/chat.ts
diff options
context:
space:
mode:
authormetamuffin <metamuffin@disroot.org>2023-09-23 23:00:58 +0200
committermetamuffin <metamuffin@disroot.org>2023-09-23 23:00:58 +0200
commit345391fd8c579614491951f8650408f2e074fe5e (patch)
treec4790223778321559bc4f4b3dcebac79f4d15db5 /client-web/source/chat.ts
parentb415b82a56e42543d4c8e342ec0ee6a560a82024 (diff)
downloadkeks-meet-345391fd8c579614491951f8650408f2e074fe5e.tar
keks-meet-345391fd8c579614491951f8650408f2e074fe5e.tar.bz2
keks-meet-345391fd8c579614491951f8650408f2e074fe5e.tar.zst
chat control messages
Diffstat (limited to 'client-web/source/chat.ts')
-rw-r--r--client-web/source/chat.ts11
1 files changed, 11 insertions, 0 deletions
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))