diff --git a/packages/desktop/src/components/ConversationList.tsx b/packages/desktop/src/components/ConversationList.tsx
index 350e680..2b79748 100644
--- a/packages/desktop/src/components/ConversationList.tsx
+++ b/packages/desktop/src/components/ConversationList.tsx
@@ -32,6 +32,7 @@ import useTerminal from './Terminal';
import Conversation from '@nirvana/core/src/models/conversation.model';
import useAuth from '../providers/AuthProvider';
import { useImmer } from 'use-immer';
+import ConversationLabel from '../subcomponents/ConversationLabel';
/**
*
@@ -116,9 +117,9 @@ function ConversationRow({ conversation }: { conversation: Conversation }) {
-
- {conversationUsers.map((conversationUser) => conversationUser.displayName).join(', ')}
-
+
+
+
diff --git a/packages/desktop/src/subcomponents/ConversationLabel.tsx b/packages/desktop/src/subcomponents/ConversationLabel.tsx
index 58e9e2e..98f5d7a 100644
--- a/packages/desktop/src/subcomponents/ConversationLabel.tsx
+++ b/packages/desktop/src/subcomponents/ConversationLabel.tsx
@@ -1,15 +1,46 @@
import React from 'react';
import Conversation from '@nirvana/core/src/models/conversation.model';
+import { User } from '@nirvana/core/src/models/user.model';
+import { Typography } from '@mui/material';
+import useAuth from '../providers/AuthProvider';
+
+type IConversationLabel =
+ | {
+ conversationName?: string;
+ users: User[];
+ }
+ | {
+ conversationName: string;
+ users?: User[];
+ };
/**
* if there is a name in the conversation, then return that
* if not, then return first three names
*/
-export default function ConversationLabel({ conversation }: { conversation: Conversation }) {
- // if (conversation.memberIdsList?.length === 2) {
+export default function ConversationLabel({ conversationName, users }: IConversationLabel) {
+ const { user } = useAuth();
- // }
+ if (conversationName) {
+ return {conversationName};
+ }
+
+ const filteredUsers = users.filter((convoUser) => convoUser.id !== user.uid);
+
+ if (filteredUsers.length === 1) {
+ const firstName = filteredUsers[0].displayName.split(' ')[0];
+
+ return {firstName};
+ }
+
+ if (filteredUsers.length > 1) {
+ const firstNames = filteredUsers.map((filteredUser) => filteredUser.displayName.split(' ')[0]);
+
+ const formattedFirstnames = firstNames.slice(0, -1).join(',') + ' and ' + firstNames.slice(-1);
+
+ return {formattedFirstnames};
+ }
return;
}