diff options
Diffstat (limited to 'webclient/room')
-rw-r--r-- | webclient/room/room-controller.js | 19 | ||||
-rw-r--r-- | webclient/room/room.html | 4 |
2 files changed, 13 insertions, 10 deletions
diff --git a/webclient/room/room-controller.js b/webclient/room/room-controller.js index a53d375cf8..134247917a 100644 --- a/webclient/room/room-controller.js +++ b/webclient/room/room-controller.js @@ -120,6 +120,9 @@ angular.module('RoomController', []) if ("state" in chunk.content) { chunk.presenceState = chunk.content.state; } + if ("mtime_age" in chunk.content) { + chunk.mtime_age = chunk.content.mtime_age; + } $scope.members[chunk.target_user_id] = chunk; // get their display name and profile picture and set it to their @@ -160,16 +163,14 @@ angular.module('RoomController', []) } var member = $scope.members[chunk.content.user_id]; + // XXX: why not just pass the chunk straight through? if ("state" in chunk.content) { - if (chunk.content.state === "online") { - member.presenceState = "online"; - } - else if (chunk.content.state === "offline") { - member.presenceState = "offline"; - } - else if (chunk.content.state === "unavailable") { - member.presenceState = "unavailable"; - } + member.presenceState = chunk.content.state; + } + + if ("mtime_age" in chunk.content) { + // FIXME: should probably keep updating mtime_age in realtime like FB does + member.mtime_age = chunk.content.mtime_age; } // this may also contain a new display name or avatar url, so check. diff --git a/webclient/room/room.html b/webclient/room/room.html index 47c07c7fec..f08cb61763 100644 --- a/webclient/room/room.html +++ b/webclient/room/room.html @@ -16,7 +16,9 @@ <!-- FIXME: does allowing <wbr/> to be unescaped introduce HTML injections from user IDs and display names? --> <div class="userName" ng-bind-html="info.displayname || (name.substr(0, name.indexOf(':')) + '<wbr/>' + name.substr(name.indexOf(':'))) | to_trusted"></div> </td> - <td class="userPresence" ng-class="info.presenceState === 'online' ? 'online' : (info.presenceState === 'unavailable' ? 'unavailable' : '')" /> + <td class="userPresence" ng-class="info.presenceState === 'online' ? 'online' : (info.presenceState === 'unavailable' ? 'unavailable' : '')"> + {{ info.mtime_age | duration }} {{ info.mtime_age ? "ago" : "" }} + </td> </table> </div> |