diff options
author | metamuffin <metamuffin@disroot.org> | 2022-09-10 18:22:46 +0200 |
---|---|---|
committer | metamuffin <metamuffin@disroot.org> | 2022-09-10 18:22:46 +0200 |
commit | f268bd2087fbfb57b8504becf364a00ddebde075 (patch) | |
tree | 54c0e27bdfb32d553d13addc1de69b56b86630c1 /client-web/source/chat.ts | |
parent | d889e1b572952c5777fc2bb147f04ad8baf7f497 (diff) | |
download | keks-meet-f268bd2087fbfb57b8504becf364a00ddebde075.tar keks-meet-f268bd2087fbfb57b8504becf364a00ddebde075.tar.bz2 keks-meet-f268bd2087fbfb57b8504becf364a00ddebde075.tar.zst |
notifications for chat
Diffstat (limited to 'client-web/source/chat.ts')
-rw-r--r-- | client-web/source/chat.ts | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/client-web/source/chat.ts b/client-web/source/chat.ts index 792a620..e08437b 100644 --- a/client-web/source/chat.ts +++ b/client-web/source/chat.ts @@ -59,5 +59,15 @@ export class Chat extends OverlayUi { this.messages.append(ediv({ class: "message" }, espan(sender.display_name, { class: "author" }), ": ", ...els )) + this.shown = true + this.notify(sender, message) + } + notify(sender: User, message: ChatMessage) { + if (sender.local || document.hasFocus()) return + if (Notification.permission != "granted") return + let body = "(empty message)" + if (message.text) body = message.text + if (message.image) body = "(image)" + new Notification(`keks-meet: ${sender.display_name}`, { body }) } } |