Highlight posts that quote you when scrolling to them

update window.location because lolwhynot
This commit is contained in:
Zixaphir 2013-08-09 01:05:10 -07:00
parent 00fc8013bf
commit c438ab6c3b
4 changed files with 28 additions and 12 deletions

View File

@ -1,5 +1,5 @@
/*
* 4chan X - Version 1.2.25 - 2013-08-08
* 4chan X - Version 1.2.25 - 2013-08-09
*
* Licensed under the MIT license.
* https://github.com/seaweedchan/4chan-x/blob/master/LICENSE

View File

@ -19,7 +19,7 @@
// @icon data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwAgMAAAAqbBEUAAAACVBMVEUAAGcAAABmzDNZt9VtAAAAAXRSTlMAQObYZgAAAHFJREFUKFOt0LENACEIBdBv4Qju4wgWanEj3D6OcIVMKaitYHEU/jwTCQj8W75kiVCSBvdQ5/AvfVHBin11BgdRq3ysBgfwBDRrj3MCIA+oAQaku/Q1cNctrAmyDl577tOThYt/Y1RBM4DgOHzM0HFTAyLukH/cmRnqAAAAAElFTkSuQmCC
// ==/UserScript==
/*
* 4chan X - Version 1.2.25 - 2013-08-08
* 4chan X - Version 1.2.25 - 2013-08-09
*
* Licensed under the MIT license.
* https://github.com/seaweedchan/4chan-x/blob/master/LICENSE
@ -4206,14 +4206,17 @@
if (!QuoteYou.lastRead) {
if (!(post = QuoteYou.lastRead = $('.quotesYou'))) {
new Notification('warning', 'No posts are currently quoting you, loser.', 20);
return;
}
if (QuoteYou.cb.scroll(post)) {
return;
}
} else {
post = QuoteYou.lastRead;
}
$.rmClass($('.highlight'), 'highlight');
str = "" + type + "::div[contains(@class,'quotesYou')]";
result = $.X(str, QuoteYou.lastRead);
while (post = result.snapshotItem(type === 'preceding' ? result.snapshotLength - 1 : 0)) {
while (post = (result = $.X(str, post)).snapshotItem(type === 'preceding' ? result.snapshotLength - 1 : 0)) {
if (QuoteYou.cb.scroll(post)) {
return;
}
@ -4222,11 +4225,13 @@
return QuoteYou.cb.scroll(posts[type === 'following' ? 0 : posts.length - 1]);
},
scroll: function(post) {
QuoteYou.lastRead = post;
if (Get.postFromRoot(post).isHidden) {
return false;
} else {
QuoteYou.lastRead = post;
window.location = "#" + post.id;
Header.scrollToPost(post);
$.addClass($('.post', post), 'highlight');
return true;
}
}

View File

@ -1,6 +1,6 @@
// Generated by CoffeeScript
/*
* 4chan X - Version 1.2.25 - 2013-08-08
* 4chan X - Version 1.2.25 - 2013-08-09
*
* Licensed under the MIT license.
* https://github.com/seaweedchan/4chan-x/blob/master/LICENSE
@ -4211,14 +4211,17 @@
if (!QuoteYou.lastRead) {
if (!(post = QuoteYou.lastRead = $('.quotesYou'))) {
new Notification('warning', 'No posts are currently quoting you, loser.', 20);
return;
}
if (QuoteYou.cb.scroll(post)) {
return;
}
} else {
post = QuoteYou.lastRead;
}
$.rmClass($('.highlight'), 'highlight');
str = "" + type + "::div[contains(@class,'quotesYou')]";
result = $.X(str, QuoteYou.lastRead);
while (post = result.snapshotItem(type === 'preceding' ? result.snapshotLength - 1 : 0)) {
while (post = (result = $.X(str, post)).snapshotItem(type === 'preceding' ? result.snapshotLength - 1 : 0)) {
if (QuoteYou.cb.scroll(post)) {
return;
}
@ -4227,11 +4230,13 @@
return QuoteYou.cb.scroll(posts[type === 'following' ? 0 : posts.length - 1]);
},
scroll: function(post) {
QuoteYou.lastRead = post;
if (Get.postFromRoot(post).isHidden) {
return false;
} else {
QuoteYou.lastRead = post;
window.location = "#" + post.id;
Header.scrollToPost(post);
$.addClass($('.post', post), 'highlight');
return true;
}
}

View File

@ -36,21 +36,27 @@ QuoteYou =
unless QuoteYou.lastRead
unless post = QuoteYou.lastRead = $ '.quotesYou'
new Notification 'warning', 'No posts are currently quoting you, loser.', 20
return
return if QuoteYou.cb.scroll post
else
post = QuoteYou.lastRead
$.rmClass $('.highlight'), 'highlight'
str = "#{type}::div[contains(@class,'quotesYou')]"
result = $.X(str, QuoteYou.lastRead)
while post = result.snapshotItem(if type is 'preceding' then result.snapshotLength - 1 else 0)
while post = (result = $.X(str, post)).snapshotItem(if type is 'preceding' then result.snapshotLength - 1 else 0)
return if QuoteYou.cb.scroll post
posts = $$ '.quotesYou'
QuoteYou.cb.scroll posts[if type is 'following' then 0 else posts.length - 1]
scroll: (post) ->
QuoteYou.lastRead = post
if Get.postFromRoot(post).isHidden
return false
else
QuoteYou.lastRead = post
window.location = "##{post.id}"
Header.scrollToPost post
$.addClass $('.post', post), 'highlight'
return true