5180 fichiers 38.5 Mo 0 téléchargements 310 vues mis à jour il y a 6 heures ui
nitro-v36-with-renderer-v36 / src / api / friends / messenger / messengerSelectors.ts
messengerSelectors.ts 1 Ko Télécharger le fichier
import { MessengerIconState } from '../MessengerIconState';
import { MessengerState } from './messengerReducer';

export const selectMessages = (state: MessengerState, conversationId: number) =>
    (state.messageKeysByConversation[conversationId] || []).map(key => state.messagesByKey[key]).filter(Boolean);

export const selectMessageByClientId = (state: MessengerState, clientId: string) =>
    Object.values(state.messagesByKey).find(message => message.clientId === clientId) || null;

export const selectConversations = (state: MessengerState) => state.conversationIds.map(id => state.conversationsById[id]).filter(Boolean);

export const selectMessengerIconState = (state: MessengerState, hasLegacyThreads: boolean, hasLegacyUnread: boolean) =>
{
    const conversations = selectConversations(state);
    if(hasLegacyUnread || conversations.some(conversation => conversation.unreadCount > 0)) return MessengerIconState.UNREAD;
    if(hasLegacyThreads || conversations.length > 0) return MessengerIconState.SHOW;
    return MessengerIconState.HIDDEN;
};
15Sujets
1Dépôts
20Membres
2En ligne
Profile
Inscrit
Dernière visite
Messages
0
Votes positifs
0
Votes négatifs
0

Nous utilisons des cookies pour assurer le bon fonctionnement du site et améliorer votre expérience. en savoir plus

Autoriser