czaks
10 years ago
1 changed files with 87 additions and 0 deletions
@ -0,0 +1,87 @@ |
|||||
|
/* |
||||
|
* show-own-posts.js |
||||
|
* https://github.com/savetheinternet/Tinyboard/blob/master/js/show-op.js
|
||||
|
* |
||||
|
* Adds "(You)" to a name field when the post is yours. Update references as well. |
||||
|
* |
||||
|
* Released under the MIT license |
||||
|
* Copyright (c) 2014 Marcin Łabanowski <marcin@6irc.net> |
||||
|
* |
||||
|
* Usage: |
||||
|
* $config['additional_javascript'][] = 'js/jquery.min.js'; |
||||
|
* $config['additional_javascript'][] = 'js/show-own-posts.js'; |
||||
|
* |
||||
|
*/ |
||||
|
|
||||
|
|
||||
|
+function(){ |
||||
|
|
||||
|
|
||||
|
var update_own = function() { |
||||
|
if ($(this).is('.you')) return; |
||||
|
|
||||
|
var thread = $(this).parents('[id^="thread_"]').first(); |
||||
|
if (!thread.length) { |
||||
|
thread = $(this); |
||||
|
} |
||||
|
|
||||
|
var board = thread.attr('data-board'); |
||||
|
var posts = JSON.parse(localStorage.own_posts || '{}'); |
||||
|
|
||||
|
var id = $(this).attr('id').split('_')[1]; |
||||
|
|
||||
|
console.log([board, id, posts]); |
||||
|
|
||||
|
if (posts[board] && posts[board].indexOf(id) !== -1) { // Own post!
|
||||
|
$(this).addClass('you'); |
||||
|
$(this).find('span.name').first().append(' '+_('(You)')); |
||||
|
} |
||||
|
|
||||
|
// Update references
|
||||
|
$(this).find('div.body:first a:not([rel="nofollow"])').each(function() { |
||||
|
var postID; |
||||
|
|
||||
|
if(postID = $(this).text().match(/^>>(\d+)$/)) |
||||
|
postID = postID[1]; |
||||
|
else |
||||
|
return; |
||||
|
|
||||
|
if (posts[board].indexOf(postID) !== -1) { |
||||
|
$(this).after(' <small>'+_('(You)')+'</small>'); |
||||
|
} |
||||
|
}); |
||||
|
}; |
||||
|
|
||||
|
var update_all = function() { |
||||
|
$('div[id^="thread_"], div.post.reply').each(update_own); |
||||
|
}; |
||||
|
|
||||
|
var board = null; |
||||
|
|
||||
|
$(function() { |
||||
|
board = $('input[name="board"]').first().val(); |
||||
|
|
||||
|
update_all(); |
||||
|
}); |
||||
|
|
||||
|
$(document).on('ajax_after_post', function(e, r) { |
||||
|
var posts = JSON.parse(localStorage.own_posts || '{}'); |
||||
|
posts[board] = posts[board] || []; |
||||
|
posts[board].push(r.id); |
||||
|
localStorage.own_posts = JSON.stringify(posts); |
||||
|
}); |
||||
|
|
||||
|
$(document).on('new_post', function(e,post) { |
||||
|
var $post = $(post); |
||||
|
if ($post.is('div.post.reply')) { // it's a reply
|
||||
|
$post.each(update_own); |
||||
|
} |
||||
|
else { |
||||
|
$post.each(update_own); // first OP
|
||||
|
$post.find('div.post.reply').each(update_own); // then replies
|
||||
|
} |
||||
|
}); |
||||
|
|
||||
|
|
||||
|
|
||||
|
}(); |
Loading…
Reference in new issue