leftypol/js/show-op.js

54 lines
1.4 KiB
JavaScript
Raw Normal View History

2012-04-30 02:31:45 +10:00
/*
* show-op
* https://github.com/savetheinternet/Tinyboard/blob/master/js/show-op.js
*
* Adds "(OP)" to >>X links when the OP is quoted.
*
* Released under the MIT license
* Copyright (c) 2012 Michael Save <savetheinternet@tinyboard.org>
2014-04-19 21:26:04 +02:00
* Copyright (c) 2014 Marcin Łabanowski <marcin@6irc.net>
2012-04-30 02:31:45 +10:00
*
* Usage:
* $config['additional_javascript'][] = 'js/jquery.min.js';
* $config['additional_javascript'][] = 'js/show-op.js';
*/
2024-08-21 12:00:41 +02:00
$(document).ready(function() {
let threadPageOp;
if (active_page === "thread") {
threadPageOp = parseInt($('div.post.op a.post_no:eq(1)').text());
}
2024-08-21 12:00:41 +02:00
let showOPLinks = function() {
// Use the cached op if we're in a thread, otherwise fetch it.
let localOp = threadPageOp ? threadPageOp : parseInt($(this).parent().find('div.post.op a.post_no:eq(1)').text());
2024-08-21 12:00:41 +02:00
2012-08-27 23:01:08 +10:00
$(this).find('div.body a:not([rel="nofollow"])').each(function() {
2024-08-21 12:00:41 +02:00
let postID = $(this).text().match(/^>>(\d+)$/);
if (postID) {
postID = parseInt(postID[1]);
2024-08-21 12:00:41 +02:00
} else {
2012-04-30 02:31:45 +10:00
return;
2024-08-21 12:00:41 +02:00
}
if (postID === localOp) {
2012-04-30 02:31:45 +10:00
$(this).after(' <small>(OP)</small>');
}
});
};
2024-08-21 12:00:41 +02:00
2012-04-30 02:31:45 +10:00
$('div.post.reply').each(showOPLinks);
2024-08-21 12:00:41 +02:00
2012-04-30 02:31:45 +10:00
// allow to work with auto-reload.js, etc.
$(document).on('new_post', function(e, post) {
2014-04-19 21:23:35 +02:00
if ($(post).is('div.post.reply')) {
$(post).each(showOPLinks);
2024-08-21 12:00:41 +02:00
} else {
2014-04-19 21:23:35 +02:00
$(post).find('div.post.reply').each(showOPLinks);
}
2012-04-30 02:31:45 +10:00
});
});
2014-04-19 21:23:35 +02:00