Skip to content
Snippets Groups Projects
Commit bc0a1306 authored by Rodrigo Nascimento's avatar Rodrigo Nascimento
Browse files

Show user's timezone in user list

parent 9a7120c7
No related branches found
No related tags found
No related merge requests found
......@@ -104,13 +104,15 @@ Meteor.startup ->
room = openedRooms[rid]
return room?.dom?
updateUserStatus = (user, status) ->
updateUserStatus = (user, status, utcOffset) ->
onlineUsersValue = onlineUsers.curValue
if status is 'offline'
delete onlineUsersValue[user.username]
else
onlineUsersValue[user.username] = status
onlineUsersValue[user.username] =
status: status
utcOffset: utcOffset
onlineUsers.set onlineUsersValue
......
Tracker.autorun ->
user = Meteor.user()
if user.status is 'online'
if user?.status is 'online'
utcOffset = moment().utcOffset() / 60
if user.utcOffset isnt utcOffset
console.log 'updateUserUtcOffset', utcOffset
......
Meteor.startup ->
Meteor.users.find({}, { fields: { name: 1, username: 1, pictures: 1, status: 1, emails: 1, phone: 1, services: 1 } }).observe
Meteor.users.find({}, { fields: { name: 1, username: 1, pictures: 1, status: 1, emails: 1, phone: 1, services: 1, utcOffset: 1 } }).observe
added: (user) ->
Session.set('user_' + user.username + '_status', user.status)
RoomManager.updateUserStatus user, user.status
RoomManager.updateUserStatus user, user.status, user.utcOffset
changed: (user) ->
Session.set('user_' + user.username + '_status', user.status)
RoomManager.updateUserStatus user, user.status
RoomManager.updateUserStatus user, user.status, user.utcOffset
removed: (user) ->
Session.set('user_' + user.username + '_status', null)
RoomManager.updateUserStatus user, 'offline'
RoomManager.updateUserStatus user, 'offline', null
......@@ -188,9 +188,18 @@ Template.room.helpers
for username in room?.usernames or []
if onlineUsers[username]?
utcOffset = onlineUsers[username]?.utcOffset
console.log utcOffset
if utcOffset?
if utcOffset > 0
utcOffset = "+#{utcOffset}"
utcOffset = "(UTC #{utcOffset})"
users.push
username: username
status: onlineUsers[username]
status: onlineUsers[username]?.status
utcOffset: utcOffset
users = _.sortBy users, 'username'
......
......@@ -123,7 +123,7 @@
<li class='user-image user-card-room status-{{status}}'>
<a data-username="{{username}}" tabindex="0" title="{{username}}">
{{> avatar username=username}}
<p>{{username}}</p>
<p>{{username}} {{utcOffset}}</p>
</a>
</li>
{{/each}}
......
......@@ -14,6 +14,7 @@ Meteor.publish 'selectiveUsers', (usernames) ->
name: 1
username: 1
status: 1
utcOffset: 1
cursor = Meteor.users.find query, options
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment