From 64c9df46f1a5cf10937ae69ff6002382619f46c8 Mon Sep 17 00:00:00 2001 From: Ghulammustafa Kakar <145684065+Kakar21@users.noreply.github.com> Date: Tue, 10 Sep 2024 01:03:20 +0200 Subject: [PATCH] Improved Search (#155) * created a new service for search, implemented directmessages in search and fixed some bugs --- src/app/main/chat/chat.service.ts | 48 +--- .../direct-message.component.html | 2 +- .../direct-message.component.scss | 2 +- .../direct-message/directmessage.service.ts | 29 ++- src/app/main/header/header.component.html | 12 +- src/app/main/header/header.component.scss | 2 +- src/app/main/header/header.component.ts | 12 +- src/app/main/header/search.service.spec.ts | 16 ++ src/app/main/header/search.service.ts | 205 ++++++++++++++++++ 9 files changed, 266 insertions(+), 62 deletions(-) create mode 100644 src/app/main/header/search.service.spec.ts create mode 100644 src/app/main/header/search.service.ts diff --git a/src/app/main/chat/chat.service.ts b/src/app/main/chat/chat.service.ts index ccffbba..c942a9e 100644 --- a/src/app/main/chat/chat.service.ts +++ b/src/app/main/chat/chat.service.ts @@ -56,7 +56,7 @@ export class ChatService { constructor( public firestore: FirestoreService, - public currentUser: CurrentuserService, + public currentUser: CurrentuserService ) { this.subUsersList(); this.subChannelsList(); @@ -464,51 +464,5 @@ export class ChatService { this.mobileOpen = "directmessage"; } } - - searchMessagesAndChannels(query: string): SearchResult[] { - const results: SearchResult[] = []; - - // Channels durchsuchen - this.channelsList.forEach(channel => { - const messages = channel.channelData.messages - ? Array.from(channel.channelData.messages.values()).filter(message => { - return message.message.toLowerCase().includes(query.toLowerCase()); - }) - : []; - - messages.forEach(message => { - results.push({ - type: 'channel', - id: message.id, - name: channel.channelData.name, // Channel-Name - avatar: message.avatar, - message: message.message, // Nachricht - channelName: channel.channelData.name, - channelID: channel.id - }); - }); - }); - - // Direct Messages durchsuchen - Object.values(this.allMessages).forEach((userMessages: Message[]) => { - const matchingMessages = userMessages.filter(message => { - return message.message.toLowerCase().includes(query.toLowerCase()); - }); - - matchingMessages.forEach(message => { - results.push({ - type: 'user', - id: message.id, - name: message.name, // Benutzername - avatar: message.avatar, - message: message.message, // Nachricht - userID: message.id - }); - }); - }); - - return results; - } - } diff --git a/src/app/main/chat/direct-message/direct-message.component.html b/src/app/main/chat/direct-message/direct-message.component.html index f34aede..7118113 100644 --- a/src/app/main/chat/direct-message/direct-message.component.html +++ b/src/app/main/chat/direct-message/direct-message.component.html @@ -187,7 +187,7 @@