Context menu for left pane list items

This commit is contained in:
Fedor Indutny 2023-04-05 13:48:00 -07:00 committed by GitHub
parent 02dedc7157
commit f61d8f38b0
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
43 changed files with 1046 additions and 110 deletions

View file

@ -471,6 +471,7 @@ function canComposeConversation(conversation: ConversationType): boolean {
return Boolean(
!isSignalConversation(conversation) &&
!conversation.isBlocked &&
!conversation.removalStage &&
!isConversationUnregistered(conversation) &&
hasDisplayInfo(conversation) &&
isTrusted(conversation)
@ -484,6 +485,7 @@ export const getAllComposableConversations = createSelector(
conversation =>
!isSignalConversation(conversation) &&
!conversation.isBlocked &&
!conversation.removalStage &&
!conversation.isGroupV1AndDisabled &&
!isConversationUnregistered(conversation) &&
// All conversation should have a title except in weird cases where

View file

@ -124,6 +124,27 @@ export const getStoriesEnabled = createSelector(
}
);
export const getContactManagementEnabled = createSelector(
getRemoteConfig,
(remoteConfig: ConfigMapType): boolean => {
if (isRemoteConfigFlagEnabled(remoteConfig, 'desktop.contactManagement')) {
return true;
}
if (
isRemoteConfigFlagEnabled(
remoteConfig,
'desktop.contactManagement.beta'
) &&
isBeta(window.getVersion())
) {
return true;
}
return false;
}
);
export const getDefaultConversationColor = createSelector(
getItems,
(

View file

@ -871,6 +871,13 @@ export function getPropsForBubble(
timestamp,
};
}
if (isContactRemovedNotification(message)) {
return {
type: 'contactRemovedNotification',
data: null,
timestamp,
};
}
if (isChangeNumberNotification(message)) {
return {
type: 'changeNumberNotification',
@ -1374,6 +1381,16 @@ export function isUniversalTimerNotification(
return message.type === 'universal-timer-notification';
}
// Contact Removed Notification
// Note: smart, so props not generated here
export function isContactRemovedNotification(
message: MessageWithUIFieldsType
): boolean {
return message.type === 'contact-removed-notification';
}
// Change Number Notification
export function isChangeNumberNotification(