Alexander Zinchuk 3afcde3217 Initial commit
2021-04-09 14:11:51 +03:00

32 lines
816 B
TypeScript

import { ApiChat, ApiMessage, ApiUser } from '../../../../api/types';
import {
getChatTitle,
getSenderTitle,
isChatPrivate,
isChatGroup,
} from '../../../../modules/helpers';
export function getSenderName(
message: ApiMessage, chatsById: Record<number, ApiChat>, usersById: Record<number, ApiUser>,
) {
const { senderId } = message;
if (!senderId) {
return undefined;
}
const sender = isChatPrivate(senderId) ? usersById[senderId] : chatsById[senderId];
let senderName = getSenderTitle(sender);
const chat = chatsById[message.chatId];
if (chat) {
if (isChatPrivate(senderId) && (sender as ApiUser).isSelf) {
senderName = `You → ${getChatTitle(chat)}`;
} else if (isChatGroup(chat)) {
senderName += `${getChatTitle(chat)}`;
}
}
return senderName;
}