Fix broken links in drafts loaded with "load more" by dynamically creating edit link based on single_user bool in config.ini

pull/1103/head
vtyeh 1 month ago
parent 71033ecc3d
commit 4f3bacb182
  1. 4
      static/js/posts.js
  2. 3
      templates/user/articles.tmpl

@ -188,7 +188,7 @@ var movePostHTML = function(postID) {
} }
return $tmpl.innerHTML.replace(/POST_ID/g, postID); return $tmpl.innerHTML.replace(/POST_ID/g, postID);
} }
var createPostEl = function(post, owned) { var createPostEl = function(post, owned, singleUser) {
var $post = document.createElement('div'); var $post = document.createElement('div');
let p = H.createPost(post.id, "", post.body) let p = H.createPost(post.id, "", post.body)
var title = (post.title || p.title || post.id); var title = (post.title || p.title || post.id);
@ -202,7 +202,7 @@ var createPostEl = function(post, owned) {
posted = getFormattedDate(new Date(post.created)) posted = getFormattedDate(new Date(post.created))
} }
var hasDraft = H.exists('draft' + post.id); var hasDraft = H.exists('draft' + post.id);
$post.innerHTML += '<h4><date>' + posted + '</date> <a class="action" href="/pad/' + post.id + '">edit' + (hasDraft ? 'ed' : '') + '</a> <a class="delete action" href="/' + post.id + '" onclick="delPost(event, \'' + post.id + '\'' + (owned === true ? ', true' : '') + ')">delete</a> '+movePostHTML(post.id)+'</h4>'; $post.innerHTML += '<h4><date>' + posted + '</date> <a class="action" href="' + (singleUser ? '/d/' : '/') + post.id + '/edit">edit' + (hasDraft ? 'ed' : '') + '</a> <a class="delete action" href="/' + post.id + '" onclick="delPost(event, \'' + post.id + '\'' + (owned === true ? ', true' : '') + ')">delete</a> '+movePostHTML(post.id)+'</h4>';
if (post.error) { if (post.error) {
$post.innerHTML += '<p class="error"><strong>Sync error:</strong> ' + post.error + ' <nav><a href="#" onclick="localPosts.dismissError(event, this)">dismiss</a> <a href="#" onclick="localPosts.deletePost(event, this, \''+post.id+'\')">remove post</a></nav></p>'; $post.innerHTML += '<p class="error"><strong>Sync error:</strong> ' + post.error + ' <nav><a href="#" onclick="localPosts.dismissError(event, this)">dismiss</a> <a href="#" onclick="localPosts.deletePost(event, this, \''+post.id+'\')">remove post</a></nav></p>';

@ -202,8 +202,9 @@ function loadMorePosts() {
if (http.readyState == 4) { if (http.readyState == 4) {
if (http.status == 200) { if (http.status == 200) {
var data = JSON.parse(http.responseText); var data = JSON.parse(http.responseText);
var singleUser = {{ .SingleUser }};
for (var i=0; i<data.data.length; i++) { for (var i=0; i<data.data.length; i++) {
$posts.el.appendChild(createPostEl(data.data[i], true)); $posts.el.appendChild(createPostEl(data.data[i], true, singleUser));
} }
if (data.data.length < 10) { if (data.data.length < 10) {
$loadMore.el.parentNode.removeChild($loadMore.el); $loadMore.el.parentNode.removeChild($loadMore.el);

Loading…
Cancel
Save