client/snapshots: add snapshots browser

This commit is contained in:
rr-
2016-08-17 13:01:17 +02:00
parent 80af79779d
commit 9014baab92
12 changed files with 338 additions and 27 deletions

View File

@ -169,28 +169,36 @@ function getPostEditUrl(id, parameters) {
return url;
}
function makePostLink(id) {
const text = '@' + id;
function makePostLink(id, includeHash) {
let text = id;
if (includeHash) {
text = '@' + id;
}
return api.hasPrivilege('posts:view') ?
makeNonVoidElement(
'a', {'href': '/post/' + encodeURIComponent(id)}, text) :
text;
}
function makeTagLink(name) {
function makeTagLink(name, includeHash) {
const tag = tags.getTagByName(name);
const category = tag ? tag.category : 'unknown';
let text = name;
if (includeHash === true) {
text = '#' + text;
}
return api.hasPrivilege('tags:view') ?
makeNonVoidElement(
'a', {
'a',
{
'href': '/tag/' + encodeURIComponent(name),
'class': misc.makeCssName(category, 'tag'),
}, name) :
makeNonVoidElement(
'span', {
'class': misc.makeCssName(category, 'tag'),
},
name);
text) :
makeNonVoidElement(
'span',
{'class': misc.makeCssName(category, 'tag')},
text);
}
function makeUserLink(user) {
@ -477,6 +485,8 @@ module.exports = misc.arrayToObject([
decorateValidator,
makeVoidElement,
makeNonVoidElement,
makeTagLink,
makePostLink,
syncScrollPosition,
slideDown,
slideUp,