From 78ee83324c59b7f8715d877b5e7d5fb881bd0ce7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bar=C4=B1=C5=9F=20Soner=20U=C5=9Fakl=C4=B1?= Date: Thu, 5 Nov 2020 16:46:17 -0500 Subject: [PATCH] fix: #8838, fix chat dropdown timestamps use shorthand like notification dropdown --- public/src/modules/chat.js | 49 ++++++++++++++++++++++---------------- 1 file changed, 28 insertions(+), 21 deletions(-) diff --git a/public/src/modules/chat.js b/public/src/modules/chat.js index ec33db51f7..680022049e 100644 --- a/public/src/modules/chat.js +++ b/public/src/modules/chat.js @@ -3,7 +3,8 @@ define('chat', [ 'components', 'taskbar', -], function (components, taskbar) { + 'translator', +], function (components, taskbar, translator) { var module = {}; var newMessage = false; @@ -20,28 +21,34 @@ define('chat', [ return room.teaser; }); - app.parseAndTranslate('partials/chats/dropdown', { rooms: rooms }, function (html) { - chatsListEl.find('*').not('.navigation-link').remove(); - chatsListEl.prepend(html); - app.createUserTooltips(chatsListEl, 'right'); - chatsListEl.off('click').on('click', '[data-roomid]', function (ev) { - if ($(ev.target).parents('.user-link').length) { - return; - } - var roomId = $(this).attr('data-roomid'); - if (!ajaxify.currentPage.match(/^chats\//)) { - app.openChat(roomId); - } else { - ajaxify.go('user/' + app.user.userslug + '/chats/' + roomId); - } - }); - - $('[component="chats/mark-all-read"]').off('click').on('click', function () { - socket.emit('modules.chats.markAllRead', function (err) { - if (err) { - return app.alertError(err); + translator.toggleTimeagoShorthand(function () { + for (var i = 0; i < rooms.length; i += 1) { + rooms[i].teaser.timeago = $.timeago(new Date(parseInt(rooms[i].teaser.timestamp, 10))); + } + translator.toggleTimeagoShorthand(); + app.parseAndTranslate('partials/chats/dropdown', { rooms: rooms }, function (html) { + chatsListEl.find('*').not('.navigation-link').remove(); + chatsListEl.prepend(html); + app.createUserTooltips(chatsListEl, 'right'); + chatsListEl.off('click').on('click', '[data-roomid]', function (ev) { + if ($(ev.target).parents('.user-link').length) { + return; + } + var roomId = $(this).attr('data-roomid'); + if (!ajaxify.currentPage.match(/^chats\//)) { + app.openChat(roomId); + } else { + ajaxify.go('user/' + app.user.userslug + '/chats/' + roomId); } }); + + $('[component="chats/mark-all-read"]').off('click').on('click', function () { + socket.emit('modules.chats.markAllRead', function (err) { + if (err) { + return app.alertError(err); + } + }); + }); }); }); });