diff --git a/app/components/channel_icon.js b/app/components/channel_icon.js
index 59c1a10e3..f865d83e4 100644
--- a/app/components/channel_icon.js
+++ b/app/components/channel_icon.js
@@ -43,8 +43,8 @@ export default class ChannelIcon extends React.PureComponent {
membersCount,
size,
status,
- teammateDeletedAt,
theme,
+ teammateDeletedAt,
type,
isArchived,
} = this.props;
diff --git a/app/components/sidebars/main/channels_list/channel_item/__snapshots__/channel_item.test.js.snap b/app/components/sidebars/main/channels_list/channel_item/__snapshots__/channel_item.test.js.snap
index 3e7845a3a..d8be6f31d 100644
--- a/app/components/sidebars/main/channels_list/channel_item/__snapshots__/channel_item.test.js.snap
+++ b/app/components/sidebars/main/channels_list/channel_item/__snapshots__/channel_item.test.js.snap
@@ -80,3 +80,84 @@ exports[`ChannelItem should match snapshot 1`] = `
`;
+
+exports[`ChannelItem should match snapshot for deactivated user 1`] = `
+
+
+
+
+
+
+
+
+
+
+`;
diff --git a/app/components/sidebars/main/channels_list/channel_item/channel_item.test.js b/app/components/sidebars/main/channels_list/channel_item/channel_item.test.js
index d348001b4..870720633 100644
--- a/app/components/sidebars/main/channels_list/channel_item/channel_item.test.js
+++ b/app/components/sidebars/main/channels_list/channel_item/channel_item.test.js
@@ -43,4 +43,17 @@ describe('ChannelItem', () => {
expect(wrapper.getElement()).toMatchSnapshot();
});
+
+ test('should match snapshot for deactivated user', () => {
+ const newProps = {
+ ...baseProps,
+ teammateDeletedAt: 100,
+ type: 'D',
+ };
+ const wrapper = shallow(
+ ,
+ {context: {intl: {formatMessage: jest.fn()}}},
+ );
+ expect(wrapper.getElement()).toMatchSnapshot();
+ });
});
diff --git a/app/components/sidebars/main/channels_list/channel_item/index.js b/app/components/sidebars/main/channels_list/channel_item/index.js
index ef0738e81..de62b95d8 100644
--- a/app/components/sidebars/main/channels_list/channel_item/index.js
+++ b/app/components/sidebars/main/channels_list/channel_item/index.js
@@ -28,14 +28,21 @@ function makeMapStateToProps() {
let isMyUser = false;
let teammateDeletedAt = 0;
let displayName = channel.display_name;
- if (channel.type === General.DM_CHANNEL && channel.teammate_id) {
- isMyUser = channel.teammate_id === currentUserId;
- const teammate = getUser(state, channel.teammate_id);
- if (teammate && teammate.delete_at) {
- teammateDeletedAt = teammate.delete_at;
+ let isArchived = false;
+ if (channel.type === General.DM_CHANNEL) {
+ if (ownProps.isSearchResult) {
+ isMyUser = channel.id === currentUserId;
+ teammateDeletedAt = channel.delete_at;
+ } else {
+ isMyUser = channel.teammate_id === currentUserId;
+ const teammate = getUser(state, channel.teammate_id);
+ if (teammate && teammate.delete_at) {
+ teammateDeletedAt = teammate.delete_at;
+ }
+ const teammateNameDisplay = getTeammateNameDisplaySetting(state);
+ displayName = displayUsername(teammate, teammateNameDisplay, false);
+ isArchived = channel.delete_at > 0;
}
- const teammateNameDisplay = getTeammateNameDisplaySetting(state);
- displayName = displayUsername(teammate, teammateNameDisplay, false);
}
const currentChannelId = getCurrentChannelId(state);
@@ -62,6 +69,7 @@ function makeMapStateToProps() {
showUnreadForMsgs = member.notify_props.mark_unread !== General.MENTION;
}
return {
+ channel,
currentChannelId,
displayName,
fake: channel.fake,
@@ -75,7 +83,7 @@ function makeMapStateToProps() {
theme: getTheme(state),
type: channel.type,
unreadMsgs,
- isArchived: channel.delete_at > 0,
+ isArchived,
};
};
}
diff --git a/app/components/sidebars/main/channels_list/filtered_list/filtered_list.js b/app/components/sidebars/main/channels_list/filtered_list/filtered_list.js
index 378cc5cf0..590020af7 100644
--- a/app/components/sidebars/main/channels_list/filtered_list/filtered_list.js
+++ b/app/components/sidebars/main/channels_list/filtered_list/filtered_list.js
@@ -203,7 +203,7 @@ class FilteredList extends Component {
const pastDirectMessageUsers = pastDirectMessages.map((p) => profiles[p]).filter((p) => typeof p !== 'undefined');
const dms = [...directChannelUsers, ...pastDirectMessageUsers].map((u) => {
- const displayName = displayUsername(u, teammateNameDisplay);
+ const displayName = displayUsername(u, teammateNameDisplay, false);
return {
id: u.id,
@@ -211,11 +211,11 @@ class FilteredList extends Component {
display_name: displayName,
username: u.username,
email: u.email,
- name: displayName,
type: General.DM_CHANNEL,
fake: true,
nickname: u.nickname,
fullname: `${u.first_name} ${u.last_name}`,
+ delete_at: u.delete_at,
};
});
@@ -244,7 +244,7 @@ class FilteredList extends Component {
const userNotInDirectOrGroupChannels = Object.values(profilesToUse).filter((u) => directAndGroupChannelMembers.indexOf(u.id) === -1 && pastDirectMessages.indexOf(u.id) === -1 && u.id !== currentUserId);
const members = userNotInDirectOrGroupChannels.map((u) => {
- const displayName = displayUsername(u, teammateNameDisplay);
+ const displayName = displayUsername(u, teammateNameDisplay, false);
return {
id: u.id,
@@ -257,6 +257,7 @@ class FilteredList extends Component {
fake: true,
nickname: u.nickname,
fullname: `${u.first_name} ${u.last_name}`,
+ delete_at: u.delete_at,
};
});