@@ -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