Update header actions/add hiddenFromConversationSearch

This commit is contained in:
Jamie Kyle 2023-06-29 11:40:00 -07:00 committed by GitHub
parent 00250e535c
commit af4ad55c68
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
11 changed files with 204 additions and 27 deletions

View file

@ -12,6 +12,7 @@ import {
} from '../../components/conversation/ConversationHeader';
import { getPreferredBadgeSelector } from '../selectors/badges';
import {
getConversationByUuidSelector,
getConversationSelector,
getConversationTitle,
isMissingRequiredProfileSharing,
@ -35,6 +36,8 @@ import { strictAssert } from '../../util/assert';
import { isSignalConversation } from '../../util/isSignalConversation';
import { useSearchActions } from '../ducks/search';
import { useStoriesActions } from '../ducks/stories';
import { getCannotLeaveBecauseYouAreLastAdmin } from '../../components/conversation/conversation-details/ConversationDetails';
import { getGroupMemberships } from '../../util/getGroupMemberships';
export type OwnProps = {
id: string;
@ -79,6 +82,7 @@ export function SmartConversationHeader({ id }: OwnProps): JSX.Element {
if (!conversation) {
throw new Error('Could not find conversation');
}
const isAdmin = Boolean(conversation.areWeAdmin);
const hasStoriesSelector = useSelector(getHasStoriesSelector);
const hasStories = hasStoriesSelector(id);
@ -97,6 +101,7 @@ export function SmartConversationHeader({ id }: OwnProps): JSX.Element {
const {
destroyMessages,
leaveGroup,
onArchive,
onMarkUnread,
onMoveToInbox,
@ -114,6 +119,14 @@ export function SmartConversationHeader({ id }: OwnProps): JSX.Element {
const { searchInConversation } = useSearchActions();
const { viewUserStories } = useStoriesActions();
const conversationByUuidSelector = useSelector(getConversationByUuidSelector);
const groupMemberships = getGroupMemberships(
conversation,
conversationByUuidSelector
);
const cannotLeaveBecauseYouAreLastAdmin =
getCannotLeaveBecauseYouAreLastAdmin(groupMemberships.memberships, isAdmin);
return (
<ConversationHeader
{...pick(conversation, [
@ -141,6 +154,7 @@ export function SmartConversationHeader({ id }: OwnProps): JSX.Element {
'unblurredAvatarPath',
])}
badge={badge}
cannotLeaveBecauseYouAreLastAdmin={cannotLeaveBecauseYouAreLastAdmin}
conversationTitle={conversationTitle}
destroyMessages={destroyMessages}
hasStories={hasStories}
@ -151,6 +165,7 @@ export function SmartConversationHeader({ id }: OwnProps): JSX.Element {
)}
isSignalConversation={isSignalConversation(conversation)}
isSMSOnly={isConversationSMSOnly(conversation)}
leaveGroup={leaveGroup}
onArchive={onArchive}
onMarkUnread={onMarkUnread}
onMoveToInbox={onMoveToInbox}