display mtime_age in webclient
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>
|