Skip to content
This repository was archived by the owner on Mar 6, 2020. It is now read-only.

Commit f60e3ab

Browse files
author
René Kooi
committed
user-classes: add user class to #footer-user, remove unnecessary UserView advice
1 parent 05639f6 commit f60e3ab

1 file changed

Lines changed: 20 additions & 8 deletions

File tree

src/plugins/UserClassesPlugin.js

Lines changed: 20 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,6 @@ define(function (require, exporst, module) {
44
const getUserClasses = require('../util/getUserClasses');
55
const Events = require('plug/core/Events');
66
const currentUser = require('plug/models/currentUser');
7-
const UserView = require('plug/views/users/UserView');
87
const UserRowView = require('plug/views/rooms/users/RoomUserRowView');
98
const WaitListRowView = require('plug/views/rooms/users/WaitListRowView');
109
const userRolloverView = require('plug/views/users/userRolloverView');
@@ -39,19 +38,14 @@ define(function (require, exporst, module) {
3938
this.$el.addClass(getUserClasses(id).join(' '));
4039
}
4140
});
42-
this.userViewClasses = after(UserView.prototype, 'render', function () {
43-
// `this` is the user view
44-
this.$el.addClass(getUserClasses(API.getUser().id));
45-
});
46-
this.setUserViewClass();
41+
this.onUserChange();
4742
// guest change, mostly
48-
this.listenTo(currentUser, 'change:id change:role change:gRole', this.setUserViewClass);
43+
this.listenTo(currentUser, 'change:id change:role change:gRole', this.onUserChange);
4944
},
5045
disable() {
5146
this.rowClasses.remove();
5247
this.waitListClasses.remove();
5348
this.rolloverClasses.remove();
54-
this.userViewClasses.remove();
5549
},
5650

5751
onChat(msg) {
@@ -89,13 +83,31 @@ define(function (require, exporst, module) {
8983
msg.classes = classes.join(' ');
9084
},
9185

86+
onUserChange() {
87+
this.setUserViewClass();
88+
this.setUserFooterClass();
89+
},
90+
9291
setUserViewClass() {
9392
defer(() => {
9493
$('#user-view')
9594
.removeClass()
9695
.addClass('app-left')
9796
.addClass(getUserClasses(API.getUser().id).join(' '));
9897
});
98+
},
99+
100+
setUserFooterClass() {
101+
defer(() => {
102+
let footer = $('#footer-user');
103+
let online = footer.hasClass('online');
104+
let showing = footer.hasClass('showing');
105+
footer
106+
.removeClass()
107+
.toggleClass('online', online)
108+
.toggleClass('showing', showing)
109+
.addClass(getUserClasses(API.getUser().id).join(' '));
110+
});
99111
}
100112
});
101113

0 commit comments

Comments
 (0)