[MM-58778] Fixing white screen for GM conversion (#27385)
* fixing white screen for GM conversion --------- Co-authored-by: Mattermost Build <build@mattermost.com>
Этот коммит содержится в:
@@ -1,7 +1,7 @@
|
|||||||
// Copyright (c) 2015-present Mattermost, Inc. All Rights Reserved.
|
// Copyright (c) 2015-present Mattermost, Inc. All Rights Reserved.
|
||||||
// See LICENSE.txt for license information.
|
// See LICENSE.txt for license information.
|
||||||
|
|
||||||
import React, {useEffect, useRef} from 'react';
|
import React, {useEffect, useMemo, useRef} from 'react';
|
||||||
import {FormattedMessage, useIntl} from 'react-intl';
|
import {FormattedMessage, useIntl} from 'react-intl';
|
||||||
import {useDispatch, useSelector} from 'react-redux';
|
import {useDispatch, useSelector} from 'react-redux';
|
||||||
|
|
||||||
@@ -36,7 +36,20 @@ function GMConversionMessage(props: Props): JSX.Element {
|
|||||||
),
|
),
|
||||||
);
|
);
|
||||||
|
|
||||||
const convertedByUserUsername = userProfiles.find((user) => user.id === convertedByUserId)!.username;
|
const convertedByUsername = useMemo(() => {
|
||||||
|
const convertedByUser = userProfiles.find((user) => user.id === convertedByUserId);
|
||||||
|
|
||||||
|
if (!convertedByUser) {
|
||||||
|
return (
|
||||||
|
<FormattedMessage
|
||||||
|
id='api.channel.group_message_converted_to.someone'
|
||||||
|
defaultMessage='Someone'
|
||||||
|
/>
|
||||||
|
);
|
||||||
|
}
|
||||||
|
return renderUsername(convertedByUser.username);
|
||||||
|
}, [convertedByUserId, userProfiles]);
|
||||||
|
|
||||||
const gmMembersUsernames = userProfiles.map((user) => renderUsername(user.username));
|
const gmMembersUsernames = userProfiles.map((user) => renderUsername(user.username));
|
||||||
|
|
||||||
if (!convertedByUserId || !gmMembersDuringConversionIDs || gmMembersDuringConversionIDs.length === 0) {
|
if (!convertedByUserId || !gmMembersDuringConversionIDs || gmMembersDuringConversionIDs.length === 0) {
|
||||||
@@ -50,7 +63,7 @@ function GMConversionMessage(props: Props): JSX.Element {
|
|||||||
id='api.channel.group_message_converted_to.private_channel'
|
id='api.channel.group_message_converted_to.private_channel'
|
||||||
defaultMessage='{convertedBy} created this channel from a group message with {gmMembers}.'
|
defaultMessage='{convertedBy} created this channel from a group message with {gmMembers}.'
|
||||||
values={{
|
values={{
|
||||||
convertedBy: renderUsername(convertedByUserUsername),
|
convertedBy: convertedByUsername,
|
||||||
gmMembers: intl.formatList(gmMembersUsernames),
|
gmMembers: intl.formatList(gmMembersUsernames),
|
||||||
}}
|
}}
|
||||||
/>
|
/>
|
||||||
|
|||||||
@@ -2817,6 +2817,7 @@
|
|||||||
"api.channel.add_member.added": "{addedUsername} added to the channel by {username}.",
|
"api.channel.add_member.added": "{addedUsername} added to the channel by {username}.",
|
||||||
"api.channel.delete_channel.archived": "{username} archived the channel.",
|
"api.channel.delete_channel.archived": "{username} archived the channel.",
|
||||||
"api.channel.group_message_converted_to.private_channel": "{convertedBy} created this channel from a group message with {gmMembers}.",
|
"api.channel.group_message_converted_to.private_channel": "{convertedBy} created this channel from a group message with {gmMembers}.",
|
||||||
|
"api.channel.group_message_converted_to.someone": "Someone",
|
||||||
"api.channel.guest_join_channel.post_and_forget": "{username} joined the channel as a guest.",
|
"api.channel.guest_join_channel.post_and_forget": "{username} joined the channel as a guest.",
|
||||||
"api.channel.join_channel.post_and_forget": "{username} joined the channel.",
|
"api.channel.join_channel.post_and_forget": "{username} joined the channel.",
|
||||||
"api.channel.leave.left": "{username} left the channel.",
|
"api.channel.leave.left": "{username} left the channel.",
|
||||||
|
|||||||
Ссылка в новой задаче
Block a user