Include sender in group update notifications

This commit is contained in:
Scott Nonnenberg 2020-03-26 14:47:35 -07:00
parent d88c21e5b6
commit 71436d18e2
28 changed files with 1016 additions and 472 deletions

View file

@ -3,7 +3,7 @@ import classNames from 'classnames';
import { Emojify } from './Emojify';
import { Avatar } from '../Avatar';
import { LocalizerType } from '../../types/Util';
import { ColorType, LocalizerType } from '../../types/Util';
import {
ContextMenu,
ContextMenuTrigger,
@ -16,24 +16,27 @@ interface TimerOption {
value: number;
}
interface Props {
export interface PropsData {
id: string;
name?: string;
phoneNumber: string;
profileName?: string;
color: string;
color?: ColorType;
avatarPath?: string;
isVerified: boolean;
isMe: boolean;
isGroup: boolean;
isArchived: boolean;
isVerified?: boolean;
isMe?: boolean;
isGroup?: boolean;
isArchived?: boolean;
leftGroup?: boolean;
expirationSettingName?: string;
showBackButton: boolean;
timerOptions: Array<TimerOption>;
showBackButton?: boolean;
timerOptions?: Array<TimerOption>;
}
export interface PropsActions {
onSetDisappearingMessages: (seconds: number) => void;
onDeleteMessages: () => void;
onResetSession: () => void;
@ -46,10 +49,14 @@ interface Props {
onArchive: () => void;
onMoveToInbox: () => void;
}
export interface PropsHousekeeping {
i18n: LocalizerType;
}
export type Props = PropsData & PropsActions & PropsHousekeeping;
export class ConversationHeader extends React.Component<Props> {
public showMenuBound: (event: React.MouseEvent<HTMLButtonElement>) => void;
public menuTriggerRef: React.RefObject<any>;
@ -218,6 +225,7 @@ export class ConversationHeader extends React.Component<Props> {
isMe,
isGroup,
isArchived,
leftGroup,
onDeleteMessages,
onResetSession,
onSetDisappearingMessages,
@ -233,18 +241,20 @@ export class ConversationHeader extends React.Component<Props> {
return (
<ContextMenu id={triggerId}>
<SubMenu title={disappearingTitle}>
{(timerOptions || []).map(item => (
<MenuItem
key={item.value}
onClick={() => {
onSetDisappearingMessages(item.value);
}}
>
{item.name}
</MenuItem>
))}
</SubMenu>
{leftGroup ? null : (
<SubMenu title={disappearingTitle}>
{(timerOptions || []).map(item => (
<MenuItem
key={item.value}
onClick={() => {
onSetDisappearingMessages(item.value);
}}
>
{item.name}
</MenuItem>
))}
</SubMenu>
)}
<MenuItem onClick={onShowAllMedia}>{i18n('viewAllMedia')}</MenuItem>
{isGroup ? (
<MenuItem onClick={onShowGroupMembers}>