From a9b6accbde8fcc8cc1c38176fe0677782d1b4d01 Mon Sep 17 00:00:00 2001 From: Msjoinder Date: Sun, 5 Jan 2014 10:29:49 -0600 Subject: [PATCH] timestamp title shows time ago --- interface_common.js | 32 ++++++++++++++++++++++++++++++++ twister_formatpost.js | 3 +++ 2 files changed, 35 insertions(+) diff --git a/interface_common.js b/interface_common.js index 7967601..4be5917 100644 --- a/interface_common.js +++ b/interface_common.js @@ -66,6 +66,38 @@ function timeGmtToText(t) { return d.toString().replace(/GMT.*/g,""); } +function timeSincePost(t) { + var d = new Date(0); + d.setUTCSeconds(t); + var now = new Date(); + var t_delta = Math.ceil((now - d) / 1000); + var expression = ""; + if(t_delta < 2) { + expression = "1 second" + } + else if(t_delta < 60) { + expression = t_delta + " seconds" + } + else if(t_delta < 120) { + expression = "1 second" + } + else if(t_delta < 60 * 60) { + expression = Math.floor(t_delta/60) + " minutes" + } + else if(t_delta < 2 * 60 * 60) { + expression = "1 hour" + } + else if(t_delta < 24 * 60 * 60) { + expression = Math.floor(t_delta/60/60) + " hours" + } + else if(t_delta < 2 * 24 * 60 * 60) { + expression = "1 day" + } + else { + expression = Math.floor(t_delta/24/60/60) + " days" + } + return expression + " ago"; +} // // Profile, mentions and hashtag modal diff --git a/twister_formatpost.js b/twister_formatpost.js index 2e656fc..fdebfdc 100644 --- a/twister_formatpost.js +++ b/twister_formatpost.js @@ -76,6 +76,7 @@ function postToElem( post, kind ) { elem.find(".post-info-tag").text = "@" + n; getAvatar( n, elem.find(".avatar") ); elem.find(".post-info-time").text(timeGmtToText(t)); + elem.find(".post-info-time").attr("title",timeSincePost(t)); var mentions = []; htmlFormatMsg( msg, elem.find(".post-text"), mentions); @@ -117,6 +118,7 @@ function dmDataToSnippetItem(dmData, remoteUser) { getFullname( remoteUser, dmItem.find("a.post-info-name") ); dmItem.find(".post-text").text(escapeHtmlEntities(dmData.text)); dmItem.find(".post-info-time").text(timeGmtToText(dmData.time)); + dmItem.find(".post-info-time").attr("title",timeSincePost(dmData.time)); return dmItem; } @@ -129,6 +131,7 @@ function dmDataToConversationItem(dmData, localUser, remoteUser) { dmItem.addClass(classDm); getAvatar(dmData.fromMe ? localUser : remoteUser, dmItem.find(".post-photo").find("img") ); dmItem.find(".post-info-time").text(timeGmtToText(dmData.time)); + dmItem.find(".post-info-time").attr("title",timeSincePost(dmData.time)); var mentions = []; htmlFormatMsg( dmData.text, dmItem.find(".post-text"), mentions); return dmItem;