make notification clickable to open chat

This commit is contained in:
marlon-erler
2026-04-01 19:14:42 +00:00
parent 3bd0287517
commit b7373e909f
4 changed files with 38 additions and 4 deletions
+20 -1
View File
@@ -17,13 +17,27 @@ export default class NotificationViewModel {
const notification = NotificationViewModel.createNotification(message);
if (this.seenMessageIds.has(message.id)) return;
const currentChat = this.chatListViewModel.selectedChat.value.chatModel.info.primaryChannel;
const currentChat =
this.chatListViewModel.selectedChat.value.chatModel.info
.primaryChannel;
if (notification.chat == currentChat) return;
this.messagesInMarquee.push(notification);
this.startLoop();
};
openNotification = () => {
const notification = this.marquee.value;
if (notification == undefined) return;
const chat = [
...this.chatListViewModel.chatViewModels.value.values(),
].find(
(chat) => chat.chatModel.info.primaryChannel == notification.chat,
);
chat.open();
};
// loop
loop = () => {
if (this.messagesInMarquee.length == 0) {
@@ -50,6 +64,11 @@ export default class NotificationViewModel {
this.interval = undefined;
};
skipLoop = () => {
this.stopLoop();
this.startLoop();
}
// init
constructor(chatListViewModel: ChatListViewModel) {
this.chatListViewModel = chatListViewModel;