Allow reactions in announcement only groups

This commit is contained in:
Josh Perez 2022-02-02 15:01:22 -05:00 committed by GitHub
parent 60d348e7cb
commit 909453b20b
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
6 changed files with 50 additions and 30 deletions

View file

@ -195,6 +195,7 @@ export type PropsData = {
deletedForEveryone?: boolean;
canReact: boolean;
canReply: boolean;
canDownload: boolean;
canDeleteForEveryone: boolean;
@ -1325,6 +1326,7 @@ export class Message extends React.PureComponent<Props, State> {
const {
attachments,
canDownload,
canReact,
canReply,
direction,
disableMenu,
@ -1467,7 +1469,7 @@ export class Message extends React.PureComponent<Props, State> {
>
{this.isWindowWidthNotNarrow() && (
<>
{canReply ? reactButton : null}
{canReact ? reactButton : null}
{canDownload ? downloadButton : null}
{canReply ? replyButton : null}
</>
@ -1512,6 +1514,7 @@ export class Message extends React.PureComponent<Props, State> {
const {
attachments,
canDownload,
canReact,
canReply,
deleteMessage,
deleteMessageForEveryone,
@ -1560,36 +1563,40 @@ export class Message extends React.PureComponent<Props, State> {
{i18n('downloadAttachment')}
</MenuItem>
) : null}
{canReply && shouldShowAdditional ? (
{shouldShowAdditional ? (
<>
<MenuItem
attributes={{
className:
'module-message__context--icon module-message__context__reply',
}}
onClick={(event: React.MouseEvent) => {
event.stopPropagation();
event.preventDefault();
{canReply && (
<MenuItem
attributes={{
className:
'module-message__context--icon module-message__context__reply',
}}
onClick={(event: React.MouseEvent) => {
event.stopPropagation();
event.preventDefault();
replyToMessage(id);
}}
>
{i18n('replyToMessage')}
</MenuItem>
<MenuItem
attributes={{
className:
'module-message__context--icon module-message__context__react',
}}
onClick={(event: React.MouseEvent) => {
event.stopPropagation();
event.preventDefault();
replyToMessage(id);
}}
>
{i18n('replyToMessage')}
</MenuItem>
)}
{canReact && (
<MenuItem
attributes={{
className:
'module-message__context--icon module-message__context__react',
}}
onClick={(event: React.MouseEvent) => {
event.stopPropagation();
event.preventDefault();
this.toggleReactionPicker();
}}
>
{i18n('reactToMessage')}
</MenuItem>
this.toggleReactionPicker();
}}
>
{i18n('reactToMessage')}
</MenuItem>
)}
</>
) : null}
<MenuItem
@ -2323,7 +2330,7 @@ export class Message extends React.PureComponent<Props, State> {
public handleKeyDown = (event: React.KeyboardEvent<HTMLDivElement>): void => {
// Do not allow reactions to error messages
const { canReply } = this.props;
const { canReact } = this.props;
const key = KeyboardLayout.lookup(event.nativeEvent);
@ -2331,7 +2338,7 @@ export class Message extends React.PureComponent<Props, State> {
(key === 'E' || key === 'e') &&
(event.metaKey || event.ctrlKey) &&
event.shiftKey &&
canReply
canReact
) {
this.toggleReactionPicker();
}