mirror of
https://github.com/NodeBB/NodeBB.git
synced 2025-11-03 04:25:55 +01:00
closes #306
This commit is contained in:
@@ -284,6 +284,8 @@ var socket,
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
$('span.timeago').timeago();
|
||||||
|
|
||||||
setTimeout(function() {
|
setTimeout(function() {
|
||||||
window.scrollTo(0, 1); // rehide address bar on mobile after page load completes.
|
window.scrollTo(0, 1); // rehide address bar on mobile after page load completes.
|
||||||
}, 100);
|
}, 100);
|
||||||
@@ -346,6 +348,7 @@ var socket,
|
|||||||
|
|
||||||
app.populate_online_users();
|
app.populate_online_users();
|
||||||
app.addCommasToNumbers();
|
app.addCommasToNumbers();
|
||||||
|
$('span.timeago').timeago();
|
||||||
}
|
}
|
||||||
|
|
||||||
app.infiniteLoaderActive = false;
|
app.infiniteLoaderActive = false;
|
||||||
|
|||||||
@@ -81,7 +81,7 @@
|
|||||||
var frag = document.createDocumentFragment(),
|
var frag = document.createDocumentFragment(),
|
||||||
li = document.createElement('li');
|
li = document.createElement('li');
|
||||||
for (var i = 0, numPosts = posts.length; i < numPosts; i++) {
|
for (var i = 0, numPosts = posts.length; i < numPosts; i++) {
|
||||||
var dateString = utils.relativeTime(posts[i].timestamp);
|
|
||||||
li.setAttribute('data-pid', posts[i].pid);
|
li.setAttribute('data-pid', posts[i].pid);
|
||||||
|
|
||||||
|
|
||||||
@@ -90,12 +90,13 @@
|
|||||||
'<p>' +
|
'<p>' +
|
||||||
posts[i].content +
|
posts[i].content +
|
||||||
'</p>' +
|
'</p>' +
|
||||||
'<span><strong>' + posts[i].username + '</strong> - ' + utils.relativeTime(posts[i].timestamp) + ' ago</span>' +
|
'<span><strong>' + posts[i].username + '</strong></span> -<span class="timeago" title="' + posts[i].relativeTime + '"></span>' +
|
||||||
'</a>';
|
'</a>';
|
||||||
|
|
||||||
frag.appendChild(li.cloneNode(true));
|
frag.appendChild(li.cloneNode(true));
|
||||||
recent_replies.appendChild(frag);
|
recent_replies.appendChild(frag);
|
||||||
}
|
}
|
||||||
|
$('#category_recent_replies span.timeago').timeago();
|
||||||
});
|
});
|
||||||
|
|
||||||
function onTopicsLoaded(topics) {
|
function onTopicsLoaded(topics) {
|
||||||
@@ -109,8 +110,9 @@
|
|||||||
jQuery('#category-no-topics').remove();
|
jQuery('#category-no-topics').remove();
|
||||||
|
|
||||||
container.append(html);
|
container.append(html);
|
||||||
}
|
|
||||||
|
|
||||||
|
$('#topics-container span.timeago').timeago();
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
function loadMoreTopics(cid) {
|
function loadMoreTopics(cid) {
|
||||||
@@ -135,4 +137,4 @@
|
|||||||
});
|
});
|
||||||
|
|
||||||
|
|
||||||
})();
|
})();
|
||||||
|
|||||||
@@ -47,8 +47,8 @@
|
|||||||
<span>{age}</span>
|
<span>{age}</span>
|
||||||
<br/>
|
<br/>
|
||||||
<hr/>
|
<hr/>
|
||||||
<span class="account-bio-label">member for</span>
|
<span class="account-bio-label">joined</span>
|
||||||
<span>{joindate}</span>
|
<span class="timeago" title="{joindate}"></span>
|
||||||
<br/>
|
<br/>
|
||||||
|
|
||||||
<span class="account-bio-label">profile views</span>
|
<span class="account-bio-label">profile views</span>
|
||||||
@@ -84,7 +84,7 @@
|
|||||||
<!-- BEGIN posts -->
|
<!-- BEGIN posts -->
|
||||||
<div class="topic-row img-thumbnail clearfix" topic-url="topic/{posts.tid}/#{posts.pid}">
|
<div class="topic-row img-thumbnail clearfix" topic-url="topic/{posts.tid}/#{posts.pid}">
|
||||||
<span>{posts.content}</span>
|
<span>{posts.content}</span>
|
||||||
<span class="pull-right">{posts.relativeTime} ago</span>
|
<span class="pull-right timeago" title="{posts.relativeTime}"></span>
|
||||||
</div>
|
</div>
|
||||||
<!-- END posts -->
|
<!-- END posts -->
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
@@ -36,14 +36,14 @@
|
|||||||
<div class="pull-right">
|
<div class="pull-right">
|
||||||
<img class="img-rounded" style="width: 48px; height: 48px; /*temporary*/" src="{topics.teaser_userpicture}" />
|
<img class="img-rounded" style="width: 48px; height: 48px; /*temporary*/" src="{topics.teaser_userpicture}" />
|
||||||
<p>{topics.teaser_text}</p>
|
<p>{topics.teaser_text}</p>
|
||||||
<span><strong>{topics.teaser_username}</strong> posted {topics.teaser_timestamp} ago</span>
|
<span><strong>{topics.teaser_username}</strong> posted</span><span class="timeago" title="{topics.teaser_timestamp}"></span>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div>
|
<div>
|
||||||
<h3><span class="topic-title"><span class="badge {topics.badgeclass}">{topics.postcount}</span>{topics.title}</span></h3>
|
<h3><span class="topic-title"><span class="badge {topics.badgeclass}">{topics.postcount}</span>{topics.title}</span></h3>
|
||||||
<small>
|
<small>
|
||||||
<strong><i class="{topics.pin-icon}"></i> <i class="{topics.lock-icon}"></i></strong>
|
<strong><i class="{topics.pin-icon}"></i> <i class="{topics.lock-icon}"></i></strong>
|
||||||
Posted {topics.relativeTime} ago by
|
Posted <span class="timeago" title="{topics.relativeTime}"></span> by
|
||||||
<strong>{topics.username}</strong>.
|
<strong>{topics.username}</strong>.
|
||||||
</small>
|
</small>
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
@@ -14,7 +14,7 @@
|
|||||||
<span><strong>{posts.username}</strong> : </span>
|
<span><strong>{posts.username}</strong> : </span>
|
||||||
<span>{posts.content}</span>
|
<span>{posts.content}</span>
|
||||||
<div>
|
<div>
|
||||||
<span class="pull-right">{posts.relativeTime} ago</span>
|
<span class="pull-right timeago" title="{posts.relativeTime}"></span>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<br/>
|
<br/>
|
||||||
|
|||||||
@@ -10,6 +10,7 @@
|
|||||||
</script>
|
</script>
|
||||||
<script src="http://code.jquery.com/jquery.js"></script>
|
<script src="http://code.jquery.com/jquery.js"></script>
|
||||||
<script src="{relative_path}/vendor/jquery/js/jquery-ui-1.10.3.custom.min.js"></script>
|
<script src="{relative_path}/vendor/jquery/js/jquery-ui-1.10.3.custom.min.js"></script>
|
||||||
|
<script src="{relative_path}/vendor/jquery/js/jquery.timeago.js"></script>
|
||||||
<script src="{relative_path}/vendor/bootstrap/js/bootstrap.min.js"></script>
|
<script src="{relative_path}/vendor/bootstrap/js/bootstrap.min.js"></script>
|
||||||
<script src="{relative_path}/socket.io/socket.io.js"></script>
|
<script src="{relative_path}/socket.io/socket.io.js"></script>
|
||||||
<script src="{relative_path}/src/app.js"></script>
|
<script src="{relative_path}/src/app.js"></script>
|
||||||
|
|||||||
@@ -24,14 +24,15 @@
|
|||||||
<div class="pull-right">
|
<div class="pull-right">
|
||||||
<img style="width: 48px; height: 48px; /*temporary*/" src="{topics.teaser_userpicture}" />
|
<img style="width: 48px; height: 48px; /*temporary*/" src="{topics.teaser_userpicture}" />
|
||||||
<p><strong>{topics.teaser_username}</strong>: {topics.teaser_text}</p>
|
<p><strong>{topics.teaser_username}</strong>: {topics.teaser_text}</p>
|
||||||
<span>posted {topics.teaser_timestamp} ago</span>
|
<span>posted</span>
|
||||||
|
<span class="timeago" title="{topics.teaser_timestamp}"></span>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div>
|
<div>
|
||||||
<h3><span class="topic-title"><span class="badge {topics.badgeclass}">{topics.postcount}</span>{topics.title}</span></h3>
|
<h3><span class="topic-title"><span class="badge {topics.badgeclass}">{topics.postcount}</span>{topics.title}</span></h3>
|
||||||
<small>
|
<small>
|
||||||
<strong><i class="{topics.pin-icon}"></i><i class="{topics.lock-icon}"></i></strong>
|
<strong><i class="{topics.pin-icon}"></i><i class="{topics.lock-icon}"></i></strong>
|
||||||
Posted {topics.relativeTime} ago by
|
<span>Posted </span><span class="timeago" title="{topics.relativeTime}"></span><span> by</span>
|
||||||
<strong>{topics.username}</strong>.
|
<strong>{topics.username}</strong>.
|
||||||
</small>
|
</small>
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
@@ -59,8 +59,9 @@
|
|||||||
<div class="post-signature">{main_posts.signature}</div>
|
<div class="post-signature">{main_posts.signature}</div>
|
||||||
<div class="post-info">
|
<div class="post-info">
|
||||||
<span class="pull-right">
|
<span class="pull-right">
|
||||||
posted <span class="relativeTimeAgo">{main_posts.relativeTime} ago</span>
|
posted <span class="relativeTimeAgo timeago" title="{main_posts.relativeTime}"></span>
|
||||||
<span class="{main_posts.edited-class}">| last edited by <strong><a href="/user/{main_posts.editorslug}">{main_posts.editorname}</a></strong> {main_posts.relativeEditTime} ago</span>
|
<span class="{main_posts.edited-class}">| last edited by <strong><a href="/user/{main_posts.editorslug}">{main_posts.editorname}</a></strong></span>
|
||||||
|
<span class="timeago" title="{main_posts.relativeEditTime}"></span>
|
||||||
</span>
|
</span>
|
||||||
<div style="clear:both;"></div>
|
<div style="clear:both;"></div>
|
||||||
</div>
|
</div>
|
||||||
@@ -114,8 +115,9 @@
|
|||||||
<div class="post-signature">{posts.signature}</div>
|
<div class="post-signature">{posts.signature}</div>
|
||||||
<div class="post-info">
|
<div class="post-info">
|
||||||
<span class="pull-right">
|
<span class="pull-right">
|
||||||
posted <span class="relativeTimeAgo">{posts.relativeTime} ago</span>
|
posted <span class="relativeTimeAgo timeago" title="{posts.relativeTime}"></span>
|
||||||
<span class="{posts.edited-class}">| last edited by <strong><a href="/user/{posts.editorslug}">{posts.editorname}</a></strong> {posts.relativeEditTime} ago</span>
|
<span class="{posts.edited-class}">| last edited by <strong><a href="/user/{posts.editorslug}">{posts.editorname}</a></strong></span>
|
||||||
|
<span class="timeago" title="{posts.relativeEditTime}"></span>
|
||||||
</span>
|
</span>
|
||||||
<div style="clear:both;"></div>
|
<div style="clear:both;"></div>
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
@@ -103,7 +103,6 @@
|
|||||||
span {
|
span {
|
||||||
display: block;
|
display: block;
|
||||||
float: left;
|
float: left;
|
||||||
width: 70%;
|
|
||||||
margin-left: 10px;
|
margin-left: 10px;
|
||||||
overflow: hidden;
|
overflow: hidden;
|
||||||
height: 16px;
|
height: 16px;
|
||||||
@@ -147,7 +146,6 @@
|
|||||||
}
|
}
|
||||||
span {
|
span {
|
||||||
font-size: 12px;
|
font-size: 12px;
|
||||||
display: block;
|
|
||||||
overflow: hidden;
|
overflow: hidden;
|
||||||
height: 16px;
|
height: 16px;
|
||||||
padding-left: 8px;
|
padding-left: 8px;
|
||||||
|
|||||||
@@ -21,7 +21,6 @@ var RDB = require('./../redis.js'),
|
|||||||
// reset slugs if name is updated
|
// reset slugs if name is updated
|
||||||
var slug = cid + '/' + utils.slugify(category[key]);
|
var slug = cid + '/' + utils.slugify(category[key]);
|
||||||
RDB.hset('category:' + cid, 'slug', slug);
|
RDB.hset('category:' + cid, 'slug', slug);
|
||||||
RDB.set('categoryslug:' + slug + ':cid', cid);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -70,7 +70,7 @@ var RDB = require('./redis.js'),
|
|||||||
Posts.getPostFields(pid, ['pid', 'tid', 'content', 'uid', 'timestamp', 'deleted'], function(postData) {
|
Posts.getPostFields(pid, ['pid', 'tid', 'content', 'uid', 'timestamp', 'deleted'], function(postData) {
|
||||||
if (postData.deleted === '1') return callback(null);
|
if (postData.deleted === '1') return callback(null);
|
||||||
else {
|
else {
|
||||||
postData.relativeTime = utils.relativeTime(postData.timestamp);
|
postData.relativeTime = new Date(parseInt(postData.timestamp, 10)).toISOString();
|
||||||
next(null, postData);
|
next(null, postData);
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
@@ -159,10 +159,10 @@ var RDB = require('./redis.js'),
|
|||||||
async.eachSeries(pids, function(pid, callback) {
|
async.eachSeries(pids, function(pid, callback) {
|
||||||
Posts.getPostData(pid, function(postData) {
|
Posts.getPostData(pid, function(postData) {
|
||||||
if (postData) {
|
if (postData) {
|
||||||
postData.relativeTime = utils.relativeTime(postData.timestamp);
|
postData.relativeTime = new Date(parseInt(postData.timestamp,10)).toISOString();
|
||||||
postData.post_rep = postData.reputation;
|
postData.post_rep = postData.reputation;
|
||||||
postData['edited-class'] = postData.editor !== '' ? '' : 'none';
|
postData['edited-class'] = postData.editor !== '' ? '' : 'none';
|
||||||
postData['relativeEditTime'] = postData.edited !== '0' ? utils.relativeTime(postData.edited) : '';
|
postData['relativeEditTime'] = postData.edited !== '0' ? (new Date(parseInt(postData.edited,10)).toISOString()) : '';
|
||||||
|
|
||||||
postTools.toHTML(postData.content, function(err, content) {
|
postTools.toHTML(postData.content, function(err, content) {
|
||||||
postData.content = content;
|
postData.content = content;
|
||||||
@@ -285,7 +285,7 @@ var RDB = require('./redis.js'),
|
|||||||
'fav_button_class': '',
|
'fav_button_class': '',
|
||||||
'fav_star_class': 'icon-star-empty',
|
'fav_star_class': 'icon-star-empty',
|
||||||
'show_banned': 'hide',
|
'show_banned': 'hide',
|
||||||
'relativeTime': '0 seconds',
|
'relativeTime': new Date(timestamp).toISOString(),
|
||||||
'post_rep': '0',
|
'post_rep': '0',
|
||||||
'edited-class': 'none',
|
'edited-class': 'none',
|
||||||
'relativeEditTime': ''
|
'relativeEditTime': ''
|
||||||
|
|||||||
@@ -482,7 +482,7 @@ var user = require('./../user.js'),
|
|||||||
|
|
||||||
user.getUserData(uid, function(err, data) {
|
user.getUserData(uid, function(err, data) {
|
||||||
if (data) {
|
if (data) {
|
||||||
data.joindate = utils.relativeTime(data.joindate);
|
data.joindate = new Date(parseInt(data.joindate, 10)).toISOString();
|
||||||
|
|
||||||
if (!data.birthday) {
|
if (!data.birthday) {
|
||||||
data.age = '';
|
data.age = '';
|
||||||
|
|||||||
@@ -305,14 +305,15 @@ schema = require('./schema.js'),
|
|||||||
topicData['lock-icon'] = topicData.locked === '1' ? 'icon-lock' : 'none';
|
topicData['lock-icon'] = topicData.locked === '1' ? 'icon-lock' : 'none';
|
||||||
topicData['deleted-class'] = topicData.deleted === '1' ? 'deleted' : '';
|
topicData['deleted-class'] = topicData.deleted === '1' ? 'deleted' : '';
|
||||||
|
|
||||||
topicData.relativeTime = utils.relativeTime(topicData.timestamp);
|
topicData.relativeTime = new Date(parseInt(topicData.timestamp, 10)).toISOString();
|
||||||
|
|
||||||
topicData.username = topicInfo.username;
|
topicData.username = topicInfo.username;
|
||||||
topicData.badgeclass = (topicInfo.hasread && current_user != 0) ? '' : 'badge-important';
|
topicData.badgeclass = (topicInfo.hasread && current_user != 0) ? '' : 'badge-important';
|
||||||
topicData.teaser_text = topicInfo.teaserInfo.text || '',
|
topicData.teaser_text = topicInfo.teaserInfo.text || '',
|
||||||
topicData.teaser_username = topicInfo.teaserInfo.username || '';
|
topicData.teaser_username = topicInfo.teaserInfo.username || '';
|
||||||
topicData.teaser_userpicture = topicInfo.teaserInfo.picture || '';
|
topicData.teaser_userpicture = topicInfo.teaserInfo.picture || '';
|
||||||
topicData.teaser_timestamp = topicInfo.teaserInfo.timestamp ? utils.relativeTime(topicInfo.teaserInfo.timestamp) : '';
|
|
||||||
|
topicData.teaser_timestamp = topicInfo.teaserInfo.timestamp ? (new Date(parseInt(topicInfo.teaserInfo.timestamp, 10)).toISOString()) : '';
|
||||||
|
|
||||||
if (isTopicVisible(topicData, topicInfo))
|
if (isTopicVisible(topicData, topicInfo))
|
||||||
retrieved_topics.push(topicData);
|
retrieved_topics.push(topicData);
|
||||||
@@ -426,11 +427,11 @@ schema = require('./schema.js'),
|
|||||||
hasRead = results[1],
|
hasRead = results[1],
|
||||||
teaser = results[2];
|
teaser = results[2];
|
||||||
|
|
||||||
topicData.relativeTime = utils.relativeTime(topicData.timestamp);
|
topicData.relativeTime = new Date(parseInt(topicData.timestamp,10)).toISOString();
|
||||||
topicData.badgeclass = hasRead ? '' : 'badge-important';
|
topicData.badgeclass = hasRead ? '' : 'badge-important';
|
||||||
topicData.teaser_text = teaser.text || '';
|
topicData.teaser_text = teaser.text || '';
|
||||||
topicData.teaser_username = teaser.username || '';
|
topicData.teaser_username = teaser.username || '';
|
||||||
topicData.teaser_timestamp = teaser.timestamp ? utils.relativeTime(teaser.timestamp) : '';
|
topicData.teaser_timestamp = teaser.timestamp ? (new Date(parseInt(teaser.timestamp,10)).toISOString()) : '';
|
||||||
topicData.teaser_userpicture = teaser.picture;
|
topicData.teaser_userpicture = teaser.picture;
|
||||||
|
|
||||||
callback(topicData);
|
callback(topicData);
|
||||||
|
|||||||
Reference in New Issue
Block a user