fix the problem about same room on unread and another list

pull/7748/head
Guilherme Gazzo 9 years ago
parent 5cce44ce02
commit 17dfe013fa
  1. 48
      packages/rocketchat-ui-sidenav/client/roomList.html
  2. 23
      packages/rocketchat-ui-sidenav/client/roomList.js
  3. 4
      packages/rocketchat-ui-sidenav/client/sideNav.js

@ -2,32 +2,32 @@
{{#if isLivechat}}
{{> livechat . }}
{{else}}
{{#if isActiveFavorite}}
{{#with rooms}}
<h3 class="rooms-list__type sidebar-content {{unreadClass ..}}">
{{_ ../label}}
{{#with count}}
{{#if .}}
<span class="badge sidebar-category-badge-background sidebar-category-badge-content">{{.}}</span>
{{/if}}
{{/with}}
</h3>
<ul class="rooms-list__list">
{{#each room in this}}
{{> chatRoomItem room }}
{{else}}
<p class="rooms-list__empty-room sidebar-content">{{_ "No_channels_yet" }}</p>
{{/each}}
</ul>
{{#with rooms}}
{{#if shouldAppear .. rooms}}
<h3 class="rooms-list__type sidebar-content">
{{_ ../label}}
{{#with count}}
{{#if .}}
<span class="badge sidebar-category-badge-background sidebar-category-badge-content">{{.}}</span>
{{/if}}
{{/with}}
</h3>
<ul class="rooms-list__list">
{{#each room in this}}
{{> chatRoomItem room }}
{{else}}
<p class="rooms-list__empty-room sidebar-content">{{_ "No_channels_yet" }}</p>
{{/each}}
</ul>
{{#if hasMoreChannelsButton ..}}
{{!--<button class="rooms-list__more">{{_ "More_channels"}}...</button>--}}
{{/if}}
{{#if hasMoreChannelsButton ..}}
{{!--<button class="rooms-list__more">{{_ "More_channels"}}...</button>--}}
{{/if}}
{{#if hasMoreGroupsButton ..}}
{{!--<button class="rooms-list__more">{{_ "More_groups"}}...</button>--}}
{{#if hasMoreGroupsButton ..}}
{{!--<button class="rooms-list__more">{{_ "More_groups"}}...</button>--}}
{{/if}}
{{/if}}
{{/with}}
{{/if}}
{{/with}}
{{/if}}
</template>

@ -49,21 +49,16 @@ Template.roomList.helpers({
return this.identifier === 'l';
},
unreadClass(room) {
let classes = '';
if (room.unread) {
const user = Meteor.user();
classes += 'unread-rooms-mode';
if ((user && user.settings && user.settings.preferences && user.settings.preferences.unreadRoomsMode) && (Template.instance().unreadRooms.count())) {
classes += ' has-unread';
}
}
return classes;
shouldAppear(group, rooms) {
/*
if is a normal group ('channel' 'private' 'direct')
or is favorite and has one room
or is unread and has one room
*/
const nonFavorite = group.identifier || group.unread;
const showNormalRooms = !group.unread || Template.instance().unreadRooms.count();
return showNormalRooms && nonFavorite || !group.unread && !this.anonymous && rooms.count();
},
hasMoreChannelsButton(room) {
return room.identifier === 'c' || room.anonymous;
},

@ -1,6 +1,10 @@
/* globals menu*/
Template.sideNav.helpers({
hasUnread() {
const user = Meteor.user();
return user && user.settings && user.settings.preferences && user.settings.preferences.unreadRoomsMode;
},
flexTemplate() {
return SideNav.getFlex().template;
},

Loading…
Cancel
Save