Made direct channels visible when receiving a message on one
Этот коммит содержится в:
@@ -71,6 +71,7 @@ export default class Sidebar extends React.Component {
|
|||||||
channelName = teammate.id + '__' + UserStore.getCurrentId();
|
channelName = teammate.id + '__' + UserStore.getCurrentId();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
let forceShow = false;
|
||||||
let channel = ChannelStore.getByName(channelName);
|
let channel = ChannelStore.getByName(channelName);
|
||||||
|
|
||||||
if (!channel) {
|
if (!channel) {
|
||||||
@@ -80,6 +81,11 @@ export default class Sidebar extends React.Component {
|
|||||||
channel.last_post_at = 0;
|
channel.last_post_at = 0;
|
||||||
channel.total_msg_count = 0;
|
channel.total_msg_count = 0;
|
||||||
channel.type = 'D';
|
channel.type = 'D';
|
||||||
|
} else {
|
||||||
|
const member = members[channel.id];
|
||||||
|
const msgCount = channel.total_msg_count - member.msg_count;
|
||||||
|
|
||||||
|
forceShow = currentId === channel.id || msgCount > 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
channel.display_name = teammate.username;
|
channel.display_name = teammate.username;
|
||||||
@@ -87,6 +93,12 @@ export default class Sidebar extends React.Component {
|
|||||||
channel.status = UserStore.getStatus(teammate.id);
|
channel.status = UserStore.getStatus(teammate.id);
|
||||||
|
|
||||||
if (preferences.some((preference) => (preference.alt_id === teammate.id && preference.value !== 'false'))) {
|
if (preferences.some((preference) => (preference.alt_id === teammate.id && preference.value !== 'false'))) {
|
||||||
|
visibleDirectChannels.push(channel);
|
||||||
|
} else if (forceShow) {
|
||||||
|
// make sure that unread direct channels are visible
|
||||||
|
const preference = PreferenceStore.setPreferenceWithAltId('direct_channels', 'show_hide', teammate.id, 'true');
|
||||||
|
AsyncClient.setPreferences([preference]);
|
||||||
|
|
||||||
visibleDirectChannels.push(channel);
|
visibleDirectChannels.push(channel);
|
||||||
} else {
|
} else {
|
||||||
hiddenDirectChannels.push(channel);
|
hiddenDirectChannels.push(channel);
|
||||||
|
|||||||
Ссылка в новой задаче
Block a user