// ==UserScript==
// @name redditmod
// @namespace derv82
// @description Subset of RES features I like.
// @include https://*.reddit.com/*
// @version 1.6.0
// @grant GM_xmlhttpRequest
// @grant GM_getValue
// @grant GM_setValue
// @grant GM_addStyle
// ==/UserScript==
/*
TODO Features:
-> UX Overhaul: Hovering a post has /large/ buttons to 1. Expand the content, 2. Expand the comments, 3. Hide this post, 4. Filter the subreddit
-> Media overhaul: Don't rely on max-height, allow resizing of images
-> Customizable UI colors. Or at least different themes.
*/
var Redditmod = {};
Redditmod.CSS = (function() {
var self = this;
this.colors = {
bg: {
base: "#121234",
input: "#232356",
filterHover: "#f00",
flair: "#18f",
thingHover: "#18f"
},
fg: {
text: "#aaa",
title: "#18f",
visited: "#88f",
filter: "#f00",
filterHover: "#fff",
flair: "#000",
spoiler: "#f80"
},
border: {
input: "#555",
flair: "#000"
},
shadow: { thingHover: "#18f" }
};
GM_addStyle("#chat,.eddit-duplicate,.eddit-filtered-post,.footer,.footer-parent,.goldvertisement,.hohoho{display:none}:root{--fg:#E0E2E4;--bg:#293134;--bg-odd:#303a3d;--fg-2:#678CB1;--bg-2:#3F4B4E;--fg-muted:#999;--fg-input:#A7CCF1;--bg-input:#293134;--fg-input-hover:#E0E2E4;--bg-input-hover:#536364;--border:solid 0.5px #678CB1;--border-color:#678CB1;--fg-link:#EC7600;--fg-link-hover:#FC8610;--fg-link-visited:#CA5400;--fg-disabled:#ddd;--bg-disabled:#777;--fg-error:#fff;--fg-warning:#000;--fg-info:#fff;--fg-success:#fff;--bg-error:#600;--bg-warning:#fa4;--bg-info:#14a;--bg-success:#151;--syntax-fg:#F1F2F3;--syntax-fg-2:#E8E2B7;--syntax-bg:#293134;--syntax-bg-2:#3F4B4E;--syntax-comment:#66747B;--syntax-builtin:#93C763;--syntax-function:#678CB1;--syntax-keyword:#7CCADD;--syntax-number:#FFCD22;--syntax-string:#EC7600;--syntax-font-family:\"Menlo\",\"Liberation Mono\",\"Consolas\",\"DejaVu Sans Mono\",\"Ubuntu Mono\",\"Courier New\",\"andale mono\",\"lucida console\",monospace;--selection-fg:#000}.ProfileSidebar__titleContainer,.ProfileTemplate.m-updated,.content,.link,.listing-chooser li.selected,.morelink .nub,.side,.sidebox .spacer,.tabmenu li.selected a,.user-subreddit-banner,body,body.with-listing-chooser .listing-chooser .grippy,html{background-color:var(--bg)}#header,#sr-header-area,.BlueBar,.Media.m-profile.m-image,.Post,.Post__pinInfo,.Post__stickiedDivider,.ProfileBarDropdown__list,.SubscriptionBar,.author-tooltip__head,.authorized-app,.drop-choices,.gold-accent,.hover-bubble,.infobar,.link .usertext-body .md,.linkinfo,.listing-chooser li,.liveupdate-listing li.liveupdate time::before,.liveupdate-listing li.separator time,.modal-content,.nextprev a:hover,.raisedbox,.roundfield,.searchpane,.server-seconds,.sr-interest-bar,.sr-interest-bar .bubble,.subreddit .usertext .md,.tabmenu li a,.trophy-area .content,body.with-listing-chooser .listing-chooser,div.link.self:hover{background-color:var(--bg-2)}#header-bottom-right,#sr-more-link,.BlueBar__account,.goldvertisement a,.link .md pre,.md code,.md pre,.nextprev a,.usertable tr:hover,.usertext.border .usertext-body,oddrow{background-color:var(--bg-odd)}.form-control,button.report-button,input,input[type=text],input[type=password],select,textarea{background-color:var(--bg-input);color:var(--fg-input)}.form-control:focus,.goldvertisement a:hover,.listing-chooser li:hover,body.with-listing-chooser .listing-chooser .grippy:hover::after,body.with-listing-chooser.listing-chooser-collapsed .listing-chooser .grippy::before,input:focus,input[type=text]:focus,input[type=password]:focus,select:focus,textarea:focus{background-color:var(--bg-input-hover);color:var(--fg-input-hover)}.form-control,.infobar.onboardingbar,.listing-chooser li.selected,.navbar,.sidebox.hohoho .morelink,body,body.with-listing-chooser .listing-chooser .grippy:hover::after,body.with-listing-chooser.listing-chooser-collapsed .listing-chooser .grippy::before,input[type=text],select,textarea{background-image:none}.icon-menu a,.titlebox form.toggle,aside.sidebar #discussions li,div.link.self{background-color:transparent}.ProfileBarDropdown__listItem:hover,.drop-choices a.choice:hover,.flair,.linkflairlabel,.wiki-page .pageactions .wikiaction:hover,a.message-count{background-color:var(--fg-link);color:var(--bg)!important}.md hr{background-color:var(--border-color)}.Post__pinInfo,.TabMenu__tab.m-active,.card a,.gold-accent,.goldvertisement,.hover-bubble,.liveupdate-listing li.separator time,.md,.titlebox,.titlebox h1 a,.trophy-name,.user-subreddit-public-description,body,html{color:var(--fg)}.Post__score,.TrendingProfilesSidebar__header,.TrophyCaseSidebar__header,.UserModeratedSubredditsSidebar__header,.UserSpecialsListSidebar__header,.author-tooltip__credentials-list strong,.brand,.dropdown.srdrop .selected,.gold-accent th,.goldvertisement .progress p,.hover-bubble.multi-selector strong,.link .rank,.listing-chooser h3,.server-seconds em,.side .titlebox .md ul li,.tagline a.subreddit,.wiki-page .wikititle,.wiki-page-content .md h1,.wiki-page-content .md h2,.wiki-page-content .md h3,.wiki-page-content .md h4,.wiki-page-content .md h5,aside.sidebar .md h2,aside.sidebar section,h1,h2,h3,h4,h5{color:var(--fg-2)}#sr-header-area .selected a,#sr-more-link,.Post__authorLink,.Post__authorLink:visited,.Post__flatListItem:link,.Post__source .Post__sourceLink,.Post__tagline,.ProfileSidebar__counters,.ProfileSidebar__description,.ProfileSidebar__displayName,.SubredditListItem__subscribers,.TrophyCaseSidebar__trophyDescription,.TrophyCaseSidebar__trophyTitle,.UserSpecialsListSidebar__date,.UserSpecialsListSidebar__title,.bottommenu,.entry .buttons li a,.flat-list li.selected a,.flat-vert.title,.footer,.gray,.listing-chooser li a .description,.liveupdate-listing li.liveupdate time,.md blockquote,.md del,.muted,.nextprev,.preftable .details,.separator,.sidebox .subtitle,.sidecontentbox .more a,.sidecontentbox .title h1,.sr-list a:link,.sr-list a:link:hover,.sr-list a:visited,.subscription-box .title:visited,.tagline,.tagline .expand,.tagline>a.author,.titlebox .bottom,.titlebox form.toggle,.user,a.title.visited,aside.sidebar #discussions li,span.domain>a{color:var(--fg-muted)}.BlueBar__logout,.ProfileBarDropdown__title,.listing-chooser .create button,.liveupdate-listing li.liveupdate a.author,.liveupdate-listing li.liveupdate:hover time,.subscription-box .title,.thing .title,a,a:link{color:var(--fg-link)}#sr-header-area .selected a:hover,.BlueBar__logout:hover,.Post__authorLink:hover,.Post__stickied-title:hover,.Post__subredditLink:hover,.ProfileBarDropdown__title.m-opened,.author-tooltip__head a:hover,.author-tooltip__link-list a:hover,.flat-list li.selected a:hover,.liveupdate-listing li.liveupdate:hover a.author,.subscription-box .title:hover,.thing .title:hover,a:hover,a:visited:hover{color:var(--fg-link-hover)}.thing .title:visited,a:visited{color:var(--fg-link-visited)}.morelink>a,.spoiler-stamp,a.TrendingProfilesSidebar__follow,a.c-btn-primary{color:#fff}.tagline .submitter{color:#4af}.Post__moderatorFlair,.tagline .moderator,.tagline .pinned-tagline,.tagline .stickied-tagline,.thing.stickied.link a.title,.thing.sticky-pinned.link a.title{color:#3a3}input[style*=\"color:black\"]{color:var(--fg-input)!important}hr{color:var(--border-color)}#liveupdate-statusbar.complete,.Post.m-profile,.Post__scoreDisplay,.content,.flair,.footer,.link,.linkflairlabel,.linkinfo,.navbar,.permission-summary,.reddit-infobar,div.link.self,noborder{border:none}button.report-button,custom-border,input,select{border:var(--border)}#compose-message .roundfield select,#header,#header hr,#sr-header-area,.BlueBar,.author-tooltip__credentials-list li,.author-tooltip__head,.author-tooltip_self .author-tooltip__head,.authorized-app,.drop-choices,.filtered-details form.add-sr .sr-name,.footer .col,.hover-bubble,.link .md pre,.link .usertext-body .md,.listing-chooser li,.listing-chooser li.selected,.liveupdate-listing li.separator::before,.md code,.md pre,.md td,.md th,.menuarea,.morelink,.nextprev a,.raisedbox,.roundfield input[type=text],.roundfield textarea,.sidebox.hohoho .morelink,.sidecontentbox .content,.subreddit .usertext .md,.subscription-box .box-separator,.titlebox .bottom,.wiki-page .pageactions,.wiki-page .wiki-page-content .wiki>.toc>ul,body.with-listing-chooser .listing-chooser .grippy,hr,input,select,textarea{border-color:var(--border-color)}.tabmenu li.selected a{border-bottom-color:transparent}.goldvertisement a,.listing-chooser .create button{border-color:var(--fg-link)}.nextprev .separator{border-color:var(--fg-muted)}.author-tooltip.hover-bubble.anchor-bottom-left::before,.author-tooltip.hover-bubble.anchor-bottom-right::before{border-top-color:var(--bg-2)}.ProfileBarDropdown__title.m-arrow.m-opened::after,.ProfileBarDropdown__title.m-arrow::after,.TabMenu__tab.m-active::after{border-top-color:var(--fg-muted)}#liveupdate-statusbar.complete,success,success a{background-color:var(--bg-success);color:var(--fg-success)}.reddit-infobar,.reddit-infobar .md,info,info a{background-color:var(--bg-info);color:var(--fg-info)}.app-scope,warning{background-color:var(--bg-warning);color:var(--fg-warning)}error,error a{background-color:var(--bg-error);color:var(--fg-error)}disabled{background-color:var(--bg-disabled);color:var(--fg-disabled)}pre{background-color:var(--syntax-bg);color:var(--syntax-fg)}body>.content .link .rank{width:auto}.side{position:absolute;right:0;transition:width .2s ease-in-out;box-shadow:-5px 0 3px 0 rgba(0,0,0,.5);padding-left:10px;width:0;overflow-x:hidden}.side:hover{width:300px}.side .nub{opacity:0}.side:hover .nub{opacity:1}.eddit-filter-subreddit-link{border:.5px solid #f33;background-color:#f33;color:#fff!important;font-weight:900;border-radius:10px;padding:0 1px;margin-left:5px}.thing{padding:3px 10px;border-radius:10px}.thing.gilded:hover,.thing:hover{background-color:var(--bg-2);transition:background-color .2s cubic-bezier}.eddit-content-other{width:50%;margin-left:60px;border:var(--border)}.eddit-content-other p{margin:10px 0}.eddit-content-other img{max-width:50%}.eddit-content-other *,.eddit-content-other .content{background-color:transparent}.arrow.up{background-position:-84px -1618px}.arrow.down{background-position:-42px -1618px}#header-img.default-header,#mail.havemail,#mail.nohavemail,#modmail.havemail,#modmail.nohavemail,.arrow.down,.arrow.up,.filtered-details button.add.add,.icon-menu .moderator-mail::before,.icon-menu .reddit-edited::before,.icon-menu .reddit-moderationlog::before,.icon-menu .reddit-modqueue::before,.morelink,.morelink .nub,.thumbnail.default,.thumbnail.nsfw,.thumbnail.self,.thumbnail.spoiler{background-image:url(data:image/png;base64,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)}.expando-button.collapsed.selftext,.expando-button.collapsed.video,.expando-button.expanded.selftext{background-image:url(data:image/png;base64,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)}");
return this;
})();
Redditmod.Error = function(message, url) {
var div = document.createElement("div");
// TODO: Move style to stylesheet.
div.style = "background-color: #800; border: solid 0.5px #c00; color: #fff; font-weight: bold; font-size: 1.2rem; padding: 5px;";
div.classList.add("eddit-content-error");
div.textContent = message;
if (url) {
// TODO: Move style to stylesheet.
div.innerHTML += ' from <a href="' + url + '" target="_BLANK" style="color: #fff">' + url + '</a>';
}
return div;
};
Redditmod.ImagePromise = function(sourceURLs) {
if (!(this instanceof Redditmod.ImagePromise)) return new Redditmod.ImagePromise(sourceURLs);
var self = this;
this.sourceURLs = (sourceURLs instanceof String || typeof(sourceURLs) === "string") ? [sourceURLs] : sourceURLs;
this.currentIndex = 0;
this.img = null;
this.createAlbumNav = function() {
var albumStatus = document.createElement("span");
var albumPrevButton = document.createElement("a");
albumPrevButton.textContent = "<";
albumPrevButton.style = "cursor: pointer; font-size: 1.4rem;";
albumPrevButton.addEventListener("click", function(e) {
e.stopPropagation();
if (self.currentIndex === 0) {
self.currentIndex = index = self.sourceURLs.length;
}
self.currentIndex--;
albumStatus.textContent = (self.currentIndex + 1) + "/" + self.sourceURLs.length;
self.img.src = self.sourceURLs[self.currentIndex];
}, true);
var albumNextButton = document.createElement("a");
albumNextButton.textContent = ">";
albumNextButton.style = "cursor: pointer; font-size: 1.4rem;";
albumNextButton.addEventListener("click", function(e) {
e.stopPropagation();
if (self.currentIndex === self.sourceURLs.length - 1) {
self.currentIndex = -1;
}
self.currentIndex++;
albumStatus.textContent = (self.currentIndex + 1) + "/" + self.sourceURLs.length;
self.img.src = self.sourceURLs[self.currentIndex];
}, true);
albumStatus.textContent = "1/" + self.sourceURLs.length;
albumStatus.style = "cursor: default; font-size: 1.4rem;";
var albumNav = document.createElement("div");
albumNav.appendChild(albumPrevButton);
albumNav.appendChild(albumStatus);
albumNav.appendChild(albumNextButton);
return albumNav;
};
return new Promise(function(resolve, reject) {
var imageContainer = document.createElement("div");
if (self.sourceURLs.length > 1) {
imageContainer.appendChild(self.createAlbumNav());
}
self.img = document.createElement("img");
self.img.src = self.sourceURLs[0];
self.img.style["max-height"] = window.innerHeight + "px";
imageContainer.appendChild(self.img);
resolve(imageContainer);
});
};
Redditmod.VideoPromise = function(sourceURLs) {
return new Promise(function(resolve, reject) {
var video = document.createElement("video");
video.controls = false;
video.autoplay = true;
video.loop = true;
video.classList.add("eddit-content-video");
video.style.display = "block";
video.style.width = "auto";
video.style.height = "auto";
sourceURLs.forEach(function(sourceURL) {
var source = document.createElement("source");
source.src = sourceURL;
video.appendChild(source);
});
resolve(video);
});
};
Redditmod.GiphyPromise = function(url) {
// https://giphy.com/gifs/xUPGctxgaSqOpZx9zW
// https://media.giphy.com/media/xUPGctxgaSqOpZx9zW/giphy.gif
// https://media.giphy.com/media/xUPGctxgaSqOpZx9zW/giphy.mp4
var matches = url.href.match(/giphy\.com\/(?:gifs|media)\/(?:[a-z0-9\-]*-)?([a-z0-9]+)/i);
if (!matches) return null;
var shortcode = matches[1];
return Redditmod.VideoPromise([
"https://media.giphy.com/media/" + shortcode + "/giphy.mp4"
]);
};
Redditmod.GfycatPromise = function(url) {
var gfycatUrl, shortCode = url.href.match(/gfycat\.com\/(?:.*\/)?([a-z0-9]*)/i);
if (!shortCode) {
gfycatUrl = url.href;
} else {
gfycatUrl = "https://gfycat.com/" + shortCode[1];
}
return new Promise(function(resolve, reject) {
GM_xmlhttpRequest({
method: "GET",
url: gfycatUrl,
onabort: reject,
onerror: reject,
onload: function(response) {
try {
var html = document.createElement("html");
html.innerHTML = response.responseText;
var videoSource = html.querySelector("#webmSource").src;
Redditmod.VideoPromise([videoSource]).then(resolve, reject);
} catch (error) {
reject("Error (" + error + "): Failed to read " + gfycatUrl);
}
}
});
});
};
Redditmod.StreamablePromise = function(url) {
var matches = url.href.match(/streamable\.com\/([a-zA-Z0-9]*)/);
if (!matches) return;
var shortcode = matches[1];
var apiUrl = "https://api.streamable.com/videos/" + shortcode;
return new Promise(function(resolve, reject) {
GM_xmlhttpRequest({
method: "GET",
url: apiUrl,
onabort: reject,
onerror: reject,
onload: function(response) {
try {
var json = JSON.parse(response.responseText);
Redditmod.VideoPromise([json.files.mp4.url]).then(resolve, reject);
} catch (error) {
reject("Error (" + error + "): Failed to read " + apiUrl);
}
}
});
});
};
Redditmod.TwitchClipPromise = function(url) {
var twitchUrl = url.href;
return new Promise(function(resolve, reject) {
GM_xmlhttpRequest({
method: "GET",
url: twitchUrl,
onabort: reject,
onerror: reject,
onload: function(response) {
try {
var matches = response.responseText.match(/quality_options: (\[.*\]),/);
if (!matches) {
reject("Error: No 'quality_options' at " + twitchUrl);
} else {
var json = JSON.parse(matches[1]);
Redditmod.VideoPromise([json[0].source]).then(resolve, reject);
}
} catch (error) {
reject("Error (" + error + "): Failed to read " + twitchUrl);
}
}
});
});
};
Redditmod.XkcdPromise = function(url) {
var matches = url.href.match(/xkcd\.com\/([0-9]+)/);
if (!matches) return;
var shortcode = matches[1];
var apiUrl = "https://xkcd.com/" + shortcode + "/info.0.json";
return new Promise(function(resolve, reject) {
GM_xmlhttpRequest({
method: "GET",
url: apiUrl,
onabort: reject,
onerror: reject,
onload: function(response) {
try {
var json = JSON.parse(response.responseText);
var xkcdDiv = document.createElement("div");
var h3 = document.createElement("h3");
h3.textContent = json.title;
var img = document.createElement("img");
img.src = json.img;
img.title = json.alt;
var h5 = document.createElement("h5");
h5.textContent = json.alt;
xkcdDiv.appendChild(h3);
xkcdDiv.appendChild(img);
xkcdDiv.appendChild(h5);
resolve(xkcdDiv);
} catch (error) {
reject("Error (" + error + "): Failed to read " + apiUrl);
}
}
});
});
};
Redditmod.DeviantartPromise = function(url) {
var theUrl = url.href;
return new Promise(function(resolve, reject) {
GM_xmlhttpRequest({
method: "GET",
url: theUrl,
onabort: reject,
onerror: reject,
onload: function(response) {
try {
var html = document.createElement("html");
html.innerHTML = response.responseText;
var fullImg = html.querySelector('img[dev-content-full]');
var smallImg = html.querySelector('meta[property="og:image"]');
if (fullImg) {
Redditmod.ImagePromise([fullImg.getAttribute("src")]).then(resolve, reject);
} else if (smallImg) {
Redditmod.ImagePromise([smallImg.getAttribute("content")]).then(resolve, reject);
} else {
reject("No images found ", theUrl);
}
} catch (error) {
reject("Error (" + error + "): Failed to read ", theUrl);
}
}
});
});
};
Redditmod.TwitterPromise = function(url) {
var theUrl = url.href.replace(/[^\/]*\.twitter.com/, "twitter.com");
return new Promise(function(resolve, reject) {
GM_xmlhttpRequest({
method: "GET",
url: theUrl,
onabort: reject,
onerror: reject,
onload: function(response) {
try {
var html = document.createElement("html");
html.innerHTML = response.responseText;
var result = document.createElement("div");
var domTweet = html.querySelector("div.tweet");
if (domTweet) {
var resultUser = document.createElement("div");
resultUser.textContent = domTweet.dataset.screenName + " (" + domTweet.dataset.name + ")";
result.appendChild(resultUser);
}
var domDescription = html.querySelector('meta[property="og:description"]');
if (domDescription) {
var resultDescription = document.createElement("div");
resultDescription.textContent = domDescription.getAttribute("content");
result.appendChild(resultDescription);
}
var domVideo = html.querySelector('meta[property="og:video:url"]');
var domPicture = html.querySelector('meta[property="og:image:user_generated"]');
if (domVideo) {
var resultVideo = document.createElement("iframe");
resultVideo.width = html.querySelector('meta[property="og:video:width"]').getAttribute("content");
resultVideo.height = html.querySelector('meta[property="og:video:height"]').getAttribute("content");
resultVideo.src = domVideo.getAttribute("content");
resultVideo.cssText = "border: none";
result.appendChild(resultVideo);
} else if (domPicture) {
var resultPicture = document.createElement("img");
resultPicture.src = html.querySelector('meta[property="og:image"]').getAttribute("content");
result.appendChild(resultPicture);
}
resolve(result);
} catch (error) {
reject("Error (" + error + "): Failed to read ", theUrl);
}
}
});
});
};
Redditmod.LightshotPromise = function(url) {
var lightshotUrl = url.href;
return new Promise(function(resolve, reject) {
GM_xmlhttpRequest({
method: "GET",
url: lightshotUrl,
onabort: reject,
onerror: reject,
onload: function(response) {
try {
var html = document.createElement("html");
html.innerHTML = response.responseText;
var imageMeta = html.querySelector('meta[property="og:image"]');
if (imageMeta) {
Redditmod.ImagePromise([imageMeta.getAttribute("content")]).then(resolve, reject);
} else {
reject("No images found ", lightshotUrl);
}
} catch (error) {
reject("Error (" + error + "): Failed to read " + lightshotUrl);
}
}
});
});
};
Redditmod.ImgflipPromise = function(url) {
var imgflipUrl = url.href;
if (/\.(jpg|jpeg|png)$/i.test(imgflipUrl)) {
return Redditmod.ImagePromise([imgflipUrl]);
}
return new Promise(function(resolve, reject) {
GM_xmlhttpRequest({
method: "GET",
url: imgflipUrl,
onabort: reject,
onerror: reject,
onload: function(response) {
try {
var html = document.createElement("html");
html.innerHTML = response.responseText;
var imageMeta = html.querySelector('img#im');
if (imageMeta) {
Redditmod.ImagePromise([imageMeta.getAttribute("src")]).then(resolve, reject);
} else {
reject("No images found ", imgflipUrl);
}
} catch (error) {
reject("Error (" + error + "): Failed to read " + imgflipUrl);
}
}
});
});
};
Redditmod.QuestionablecontentPromise = function(url) {
var qcUrl = url.href;
if (/\.(jpg|jpeg|png)$/i.test(qcUrl)) {
return Redditmod.ImagePromise([qcUrl]);
}
return new Promise(function(resolve, reject) {
GM_xmlhttpRequest({
method: "GET",
url: qcUrl,
onabort: reject,
onerror: reject,
onload: function(response) {
try {
var html = document.createElement("html");
html.innerHTML = response.responseText;
var imageMeta = html.querySelector('img#strip');
if (imageMeta) {
Redditmod.ImagePromise(["http://questionablecontent.net/" + imageMeta.getAttribute("src")]).then(resolve, reject);
} else {
reject("No images found ", qcUrl);
}
} catch (error) {
reject("Error (" + error + "): Failed to read " + qcUrl);
}
}
});
});
};
Redditmod.InstagramPromise = function(url) {
var theUrl = url.href;
var matches = theUrl.match(/instagram\.com\/p\/([a-zA-Z0-9_\-]*)/);
if (!matches) reject("No images found", theUrl);
var shortcode = matches[1];
var apiUrl = "https://instagram.com/p/" + shortcode + "/";
return new Promise(function(resolve, reject) {
GM_xmlhttpRequest({
method: "GET",
url: apiUrl,
onabort: reject,
onerror: reject,
onload: function(response) {
try {
var html = document.createElement("html");
html.innerHTML = response.responseText;
var videoMeta = html.querySelector('meta[property="og:video"]');
var imageMeta = html.querySelector('meta[property="og:image"]');
if (videoMeta) {
Redditmod.VideoPromise([videoMeta.getAttribute("content")]).then(resolve, reject);
} else if (imageMeta) {
Redditmod.ImagePromise([imageMeta.getAttribute("content")]).then(resolve, reject);
} else {
reject("No images found ", apiUrl);
}
} catch (error) {
reject("Error (" + error + "): Failed to read " + apiUrl);
}
}
});
});
};
Redditmod.ImgurPromise = function(url) {
var href = url.href.replace(/\?.*/, "");
if (href.indexOf("/a/") >= 0 || href.indexOf("/gallery/") >= 0) {
return Redditmod.ImgurAlbumPromise(href);
} else if (/\.gifv$/.test(href) || /\.gif$/.test(href) || /\.mp4$/.test(href)) {
// it's a GIF/video.
href = href.replace(/\.(gifv|gif|mp4)$/, ".mp4");
return Redditmod.VideoPromise([href]);
} else {
href = href.replace(/[^/]*\.imgur\.com/, "i.imgur.com");
href = href.replace(/_[a-z]./, ".");
href = href.replace(/\.(gif|jpg|jpeg|png)$/i, "");
href = href + ".jpg";
return Redditmod.ImagePromise([href]);
}
};
Redditmod.ImgurAlbumPromise = function(url) {
var theUrlForReal = url;
return new Promise(function(resolve, reject) {
GM_xmlhttpRequest({
method: "GET",
url: theUrlForReal,
onabort: reject,
onerror: reject,
onload: function(response) {
// Parsing imgur album HTML for Javascript via Regex. Lord'avmercy
try {
var jsonChunks = response.response.match(/\s*image\s*:\s*(.*),\s*/);
var json = JSON.parse(jsonChunks[1] || "{}");
var album_images = json.album_images || {};
var images = album_images.images || [];
if (images.length === 0) {
// No images, it might be a "gallery" link.
if (/imgur\.com\/gallery/.test(theUrlForReal)) {
var imgurHtml = document.createElement("html");
imgurHtml.innerHTML = response.responseText;
var imgurImage = imgurHtml.querySelector('link[rel="image_src"]');
if (imgurImage) {
Redditmod.ImagePromise([imgurImage.getAttribute("href")]).then(resolve, reject);
} else {
reject("No images found ", theUrlForReal);
}
} else {
reject("No images found ", theUrlForReal);
}
} else {
var urls = images.map(function(image) {
return "https://i.imgur.com/" + image.hash + image.ext;
});
Redditmod.ImagePromise(urls).then(resolve, reject);
}
} catch (error) {
reject("Error (" + error + "): Failed to load imgur album ");
}
}
});
});
};
Redditmod.FlickrPromise = function(url) {
var theUrlForReal = url.href;
return new Promise(function(resolve, reject) {
GM_xmlhttpRequest({
method: "GET",
url: theUrlForReal,
onabort: reject,
onerror: reject,
onload: function(response) {
// Parsing flickr HTML for Javascript via Regex. Lord'avmercy
try {
var jsonChunks = response.response.match(/modelExport: (\{.*})/);
var json = JSON.parse(jsonChunks[1] || "{}");
var photo_models = json["photo-models"] || [];
var images = photo_models.map(function(model) {
var imageObjs = [];
for (var key in model.sizes) {
imageObjs.push(model.sizes[key]);
}
imageObjs = imageObjs.sort(function(a,b) {
return a.width < b.width;
});
if (imageObjs.length > 0) {
return window.location.protocol + imageObjs[0].url;
} else {
return null;
}
}).filter(function(imageUrl) {
return imageUrl !== null;
});
if (images.length === 0) {
reject("No images found ", theUrlForReal);
} else {
Redditmod.ImagePromise(images).then(resolve, reject);
}
} catch (error) {
reject("Error (" + error + "): Failed to load Flickr page ");
}
}
});
});
};
Redditmod.RedditCommentsPromise = function(url) {
var theUrlForReal = url.href;
return new Promise(function(resolve, reject) {
GM_xmlhttpRequest({
method: "GET",
url: theUrlForReal,
onabort: reject,
onerror: reject,
onload: function(response) {
try {
var html = document.createElement("html");
html.innerHTML = response.responseText;
var commentContainer = html.querySelector(".commentarea > .sitetable");
if (commentContainer) {
// Process incoming comments
commentContainer.querySelectorAll(".thing.comment").forEach(Redditmod.Comments.add);
resolve(commentContainer);
} else {
reject("Failed to find commentarea at ", theUrlForReal);
}
} catch (error) {
reject("Error (" + error + "): Failed to load page ", theUrlForReal);
}
}
});
});
};
Redditmod.CustomPromise = function(url) {
var theUrl = url.href;
return new Promise(function(resolve, reject) {
GM_xmlhttpRequest({
method: "GET",
url: theUrl,
onabort: reject,
onerror: reject,
onload: function(response) {
try {
var html = document.createElement("html");
html.innerHTML = response.responseText;
var domTitle = html.querySelector('meta[property="og:title"]');
var domBody = html.querySelector('meta[property="og:description"]');
var domDate = html.querySelector('meta[property="article:published_time"]');
if (!domTitle && !domBody) {
//Redditmod.OtherPromise(url).then(resolve, reject);
reject("Page data could not be loaded", theUrl);
return;
}
var result = document.createElement("div");
result.cssText = "max-width: 33%";
var resultTitleBox = document.createElement("h3");
var resultTitle = document.createElement("a");
resultTitle.textContent = domTitle.getAttribute("content");
resultTitle.href = theUrl;
resultTitle.target = "_BLANK";
resultTitle.cssText = "font-style: italic";
resultTitleBox.appendChild(resultTitle);
result.appendChild(resultTitleBox);
if (domDate) {
var resultDate = document.createElement("div");
resultDate.textContent = domDate.getAttribute("content");
result.appendChild(resultDate);
}
var resultBody = document.createElement("div");
resultBody.textContent = domBody.getAttribute("content");
result.appendChild(resultBody);
resolve(result);
} catch (error) {
reject("Error (" + error + "): Failed to load page ", theUrl);
}
}
});
});
}
Redditmod.OtherPromise = function(url) {
var theUrl = url.href;
return new Promise(function(resolve, reject) {
GM_xmlhttpRequest({
method: "GET",
headers: {"X-api-key": "NtFdFjTYzQXF4WUWBivfsnTj0zXZyvwCKbSQeuAB"},
url: "https://mercury.postlight.com/parser?url=" + encodeURIComponent(theUrl),
onload: function(response) {
try {
var json = JSON.parse(response.response);
if (json.content === "<body></body>") {
throw Error("Empty content");
}
var otherContent = document.createElement("div");
otherContent.innerHTML = json.content;
otherContent.classList.add("eddit-content-other");
resolve(otherContent);
} catch (error) {
//reject("Error (" + error + "): Failed to load page ");
Redditmod.CustomPromise(url).then(resolve, reject);
return;
}
},
onerror: function(xhr) {
//reject("Error (status:" + xhr.status + " " + xhr.statusText + ") ");
Redditmod.CustomPromise(url).then(resolve, reject);
return;
},
onabort: function(xhr) {
//reject("Error (status:" + xhr.status + " " + xhr.statusText + ") ");
Redditmod.CustomPromise(url).then(resolve, reject);
return;
}
});
});
};
Redditmod.VisitedLinks = (function() {
var self = this;
this._visitedLinks = GM_getValue("eddit-visited-links", {});
this.resetVisitedLink = document.createElement("a");
this.resetVisitedLink.textContent = "Reset Visited Links";
this.resetVisitedLink.href = "#";
this.resetVisitedLink.classList.add("choice");
this.resetVisitedLink.addEventListener("click", function(e) {
e.stopPropagation();
e.preventDefault();
GM_setValue("eddit-visited-links", {});
});
var dropdown = document.querySelector("#sr-header-area .drop-choices");
if (dropdown) {
dropdown.appendChild(document.createElement("hr"));
dropdown.appendChild(this.resetVisitedLink);
}
this.contains = function(link) {
return (self._visitedLinks[link] === true);
};
this.add = function(link) {
if (!self._visitedLinks[link]) {
self._visitedLinks[link] = true;
GM_setValue("eddit-visited-links", self._visitedLinks);
}
};
return {
contains: this.contains,
add: this.add
};
})();
Redditmod.MediaHandler = function(domPost) {
if (!(this instanceof Redditmod.MediaHandler)) return new Redditmod.MediaHandler(domPost);
var self = this;
this._domPost = domPost;
this._domCommentsLink = domPost.querySelector(".buttons a.comments");
this._loadedMedia = false;
this._loadedComments = false;
this._expandedMedia = false;
this._expandedComments = false;
this._mediaObj = null;
this._commentsObj = null;
this._shouldUseExpando = self._domPost.classList.contains("self");
this.url = (function() {
var thisUrl = self._domPost.getAttribute("data-url");
if (!thisUrl) {
return null;
}
if (thisUrl && thisUrl.indexOf("/") === 0) {
thisUrl = window.location.protocol + "//" + window.location.host + thisUrl;
}
try {
return new URL(thisUrl);
} catch (e) {
return thisUrl;
}
})();
this._loadMedia = function() {
if (self._loadedMedia) return;
self._loadedMedia = true;
self._expandedMedia = true;
if (self._expandedComments) self._hideComments();
if (self._domPost.classList.contains("self")) {
self._shouldUseExpando = true;
return;
}
var mediaPromise = Redditmod.MediaPromise(self.url);
if (mediaPromise instanceof Promise) {
mediaPromise.then(function(mediaDiv) {
mediaDiv.style["max-width"] = self._domPost.clientWidth + "px";
mediaDiv.style["max-height"] = (screen.availHeight - self._domPost.clientHeight - 20) + "px";
self._mediaObj = mediaDiv;
self._domPost.appendChild(mediaDiv);
}).catch(function(message, url) {
self._mediaObj = new Redditmod.Error(message, self.url)
self._domPost.appendChild(self._mediaObj);
});
} else {
self._shouldUseExpando = true;
}
};
this._showMedia = function() {
self._loadMedia();
self._expandedMedia = true;
if (self._shouldUseExpando) {
self._clickExpando();
} else if (self._mediaObj) {
self._mediaObj.style.display = "block";
if (self._mediaObj.tagName === "VIDEO") self._mediaObj.load();
}
if (self._expandoButton && self._expandoButton.classList.contains("collapsed")) {
self._expandoButton.classList.add("expanded");
self._expandoButton.classList.remove("collapsed");
}
};
this._hideMedia = function() {
if (!self._loadedMedia) return;
self._loadMedia();
self._expandedMedia = false;
if (self._shouldUseExpando) {
self._clickExpando();
} else if (self._mediaObj) {
self._mediaObj.style.display = "none";
if (self._mediaObj.tagName === "VIDEO") self._mediaObj.pause();
}
if (self._expandoButton && self._expandoButton.classList.contains("expanded")) {
self._expandoButton.classList.add("collapsed");
self._expandoButton.classList.remove("expanded");
}
};
this._loadComments = function() {
if (self._loadedComments) return;
if (!self._domCommentsLink) return;
self._loadedComments = true;
self._expandedComments = true;
var commentsUrl = new URL("https://reddit.com" + self._domCommentsLink.getAttribute("href"));
var commentsPromise = Redditmod.RedditCommentsPromise(commentsUrl);
commentsPromise.then(function(commentsDiv) {
commentsDiv.style["max-width"] = self._domPost.clientWidth + "px";
self._commentsObj = commentsDiv;
self._domPost.appendChild(commentsDiv);
}).catch(function(reason) {
self._domPost.appendChild(Redditmod.Error(reason, commentsUrl));
});
};
this._showComments = function() {
self._loadComments();
self._expandedComments = true;
if (self._commentsObj) {
self._commentsObj.style.display = "block";
}
};
this._hideComments = function() {
if (!self._loadedComments) return;
self._loadComments();
self._expandedComments = false;
if (self._commentsObj) {
self._commentsObj.style.display = "none";
}
};
this.markVisited = function() {
var linkTitle = self._domPost.querySelector("a.title");
if (!linkTitle) return;
linkTitle.classList.add("visited");
};
this._clickExpando = function() {
if (self._expandoButton) {
self._expandoButton.click();
}
};
this._postClick = function(event) {
var target = Redditmod.Utils.findThing(event);
if (!target) return;
target.scrollIntoView({behavior: "smooth"});
self._toggleMedia(event);
};
this._toggleComments = function(e) {
e.stopPropagation();
e.preventDefault();
if (self._expandedMedia) self._hideMedia();
if (self._expandedComments) {
self._hideComments();
} else {
self._showComments();
}
};
this._toggleMedia = function(e) {
e.stopPropagation();
e.preventDefault();
if (self._expandedComments) self._hideComments();
if (!self.url) return;
Redditmod.VisitedLinks.add(self.url.href);
self.markVisited();
if (self._expandedMedia) {
self._hideMedia();
} else {
self._showMedia();
}
};
this._expandoButton = (function() {
var button = self._domPost.querySelector(".expando-button");
if (!button) {
button = document.createElement("a");
button.classList.add("expando-button");
button.classList.add("collapsed");
button.classList.add("video");
button.onclick = self._toggleMedia;
var entry = self._domPost.querySelector(".entry");
var tagline = self._domPost.querySelector(".tagline");
// TODO: Apparently this doesn't work because button isn't a child of entry, or tagline, or something.
//entry.insertBefore(button, tagline);
}
return button;
})();
if (self._domPost) {
self._domPost.addEventListener("click", self._postClick);
}
if (self._domCommentsLink) {
self._domCommentsLink.addEventListener("click", self._toggleComments);
}
};
// top-level domain name (no subdomains)
var DOMAIN_NAME_REGEX = RegExp(/([a-z0-9\-]+\.[a-z]{2,}$)/);
/**
* @returns Promise for a <div> holding the content found at URL.
* Returns null if reddit's built-in expando should be used.
*/
Redditmod.MediaPromise = function(url) {
if (!(this instanceof Redditmod.MediaPromise)) return new Redditmod.MediaPromise(url);
var host, hostMatches = DOMAIN_NAME_REGEX.exec(url.host);
host = hostMatches ? hostMatches[1] : url.host;
if (host === "youtube.com" || host === "youtu.be" || host === "vimeo.com") {
return null; // Should use expando
} else if (url.host === "v.redd.it") {
return null;
}
// Custom media Promises
var hostToPromise = {
"gfycat.com": Redditmod.GfycatPromise,
"imgur.com": Redditmod.ImgurPromise,
"xkcd.com": Redditmod.XkcdPromise,
"instagram.com": Redditmod.InstagramPromise,
"flickr.com": Redditmod.FlickrPromise,
"streamable.com": Redditmod.StreamablePromise,
"twitch.tv": Redditmod.TwitchClipPromise,
"reddit.com": Redditmod.RedditCommentsPromise,
"giphy.com": Redditmod.GiphyPromise,
"deviantart.com": Redditmod.DeviantartPromise,
"twitter.com": Redditmod.TwitterPromise,
"prnt.sc": Redditmod.LightshotPromise,
"imgflip.com": Redditmod.ImgflipPromise,
"questionablecontent.net": Redditmod.QuestionablecontentPromise
};
if (host in hostToPromise) {
return hostToPromise[host](url);
}
var isImage = (/\.(gif|jpg|jpeg|png)/i.test(url.href) || host === "reddituploads.com");
if (isImage) {
return Redditmod.ImagePromise([url.href]);
}
return Redditmod.OtherPromise(url);
};
Redditmod.SubredditFilter = function(subreddit, enabled) {
if (!(this instanceof Redditmod.SubredditFilter)) return new Redditmod.SubredditFilter(subreddit, enabled);
var self = this;
self.subreddit = subreddit;
self.enabled = enabled;
self.filterLink = null;
this.init = function() {
self.filterLink = document.createElement("a");
self.filterLink.href = "#";
self.filterLink.classList.add("choice");
self.filterLink.textContent = self.subreddit;
self.filterLink.addEventListener("click", function(e) {
e.stopPropagation();
e.preventDefault();
self.toggle();
Redditmod.SubredditFilters.save();
});
if (self.enabled) {
self.enable();
} else {
self.disable();
}
var dropdown = document.querySelector("#sr-header-area .drop-choices");
dropdown.appendChild(self.filterLink);
};
this.disable = function() {
self.filterLink.classList.add("eddit-subreddit-disabled");
self.filterLink.classList.remove("eddit-subreddit-enabled");
self.filterLink.innerHTML = "☐ " + self.subreddit;
self.enabled = false;
};
this.enable = function() {
self.filterLink.classList.add("eddit-subreddit-enabled");
self.filterLink.classList.remove("eddit-subreddit-disabled");
self.filterLink.innerHTML = "☑ " + self.subreddit;
self.enabled = true;
};
this.toggle = function() {
if (self.enabled) {
self.disable();
} else {
self.enable();
}
};
this.init();
};
Redditmod.NsfwFilter = (function() {
var self = this;
this.enabled = GM_getValue("eddit-nsfw-filter", false);
this.filter = document.createElement("a");
this.filter.href = "#";
this.filter.classList.add("choice");
this.filter.addEventListener("click", function(e) {
e.stopPropagation();
e.preventDefault();
self.enabled = !self.enabled;
GM_setValue("eddit-nsfw-filter", self.enabled);
self.refreshNsfwFilter();
});
this.refreshNsfwFilter = function() {
if (self.enabled) {
self.filter.innerHTML = "☑ NSFW Filter";
} else {
self.filter.innerHTML = "☐ NSFW Filter";
}
if (Redditmod.Posts) {
Redditmod.Posts.refresh();
}
};
var dropdown = document.querySelector("#sr-header-area .drop-choices");
if (dropdown) {
dropdown.appendChild(document.createElement("hr"));
dropdown.appendChild(this.filter);
}
this.refreshNsfwFilter();
return this;
})();
/**
* Wrapper around filtered-subreddits config.
* Usage:
* if (!Redditmod.SubredditFilters.isFiltered("wtf")) {
* Redditmod.SubredditFilters.add("wtf");
* }
*/
Redditmod.SubredditFilters = (function() {
var self = this;
this._filters = {};
this._load = function() {
var dropdown = document.querySelector("#sr-header-area .drop-choices");
if (!dropdown) return;
dropdown.appendChild(document.createElement("hr"));
var filterHeader = document.createElement("h4");
filterHeader.textContent = "Filtered Subreddits";
dropdown.appendChild(filterHeader);
var selectAll = document.createElement("a");
selectAll.textContent = "Filter All";
selectAll.href = "#";
selectAll.style["padding-left"] = "10px";
selectAll.style["font-size"] = "0.8em";
selectAll.addEventListener("click", function(e) {
e.stopPropagation();
e.preventDefault();
Object.keys(self._filters).forEach(function(key) {
self._filters[key].enable();
});
Redditmod.Posts.refresh();
});
dropdown.appendChild(selectAll);
var selectNone = document.createElement("a");
selectNone.textContent = "Filter None";
selectNone.href = "#";
selectNone.style["padding-left"] = "10px";
selectNone.style["font-size"] = "0.8em";
selectNone.addEventListener("click", function(e) {
e.stopPropagation();
e.preventDefault();
Object.keys(self._filters).forEach(function(key) {
self._filters[key].disable();
});
Redditmod.Posts.refresh();
});
dropdown.appendChild(selectNone);
var subData = GM_getValue("eddit-filtered-subreddits", {});
for (var subreddit in subData) {
self._filters[subreddit] = Redditmod.SubredditFilter(subreddit, subData[subreddit]);
}
if (Redditmod.Posts) {
Redditmod.Posts.refresh();
}
};
this._stripAndLower = function(sub) {
sub = sub || "";
return sub.replace(/(^ +| +$)/, "").toLowerCase();
};
this._shouldFilterPage = function() {
var path = window.location.pathname;
if (/\/r\//.test(path)) {
var sub = path.match(/\/r\/([^?#\/]*)/)[1];
return sub === "all" || sub === "popular";
} else {
return false;
}
};
this.isFiltered = function(sub) {
var strippedSub = self._stripAndLower(sub);
if (self._shouldFilterPage() && strippedSub in self._filters) {
return self._filters[strippedSub].enabled === true;
} else {
return false;
}
};
this.add = function(sub) {
var strippedSub = self._stripAndLower(sub);
if (!(strippedSub in self._filters)) {
self._filters[strippedSub] = new Redditmod.SubredditFilter(strippedSub, true);
}
self._filters[strippedSub].enable();
self.save();
};
this.save = function() {
var toSave = {};
for (var sub in self._filters) {
toSave[sub] = self._filters[sub].enabled;
}
GM_setValue("eddit-filtered-subreddits", toSave);
if (Redditmod.Posts) {
Redditmod.Posts.refresh();
}
};
this._load();
return {
add: this.add,
save: this.save,
isFiltered: this.isFiltered
};
})();
/**
* Represents a post ("thing" in reddit-terms).
* @param thingElement - Thing DOM element on the page.
* Usage:
* var thing = Redditmod.Post(document.querySelector(".thing"));
*/
Redditmod.Post = function(domPost) {
if (!(this instanceof Redditmod.Post)) return new Redditmod.Post(domPost);
var self = this;
this.element = domPost;
this.subreddit = this.element.getAttribute("data-subreddit");
this.mediaHandler = new Redditmod.MediaHandler(this.element);
this.init = function() {
self._addFilterLink();
self.refresh();
if (document.querySelectorAll('#siteTable .thing.link[id="' + self.element.id + '"]').length > 1) {
self.element.classList.add("eddit-duplicate");
}
document.querySelectorAll('#siteTable .thing').forEach(function(thing) {
var thumbnail = thing.querySelector("a.thumbnail");
thumbnail.setAttribute("data-outbound-url", thumbnail.getAttribute("href"));
var titleLink = thing.querySelector("a.title");
titleLink.setAttribute("data-outbound-url", titleLink.getAttribute("href"));
});
};
this._addFilterLink = function() {
var filterLink = document.createElement("a");
filterLink.innerHTML = "×";
filterLink.href = "#";
filterLink.title = "Filter /r/" + self.subreddit + " from appearing";
filterLink.classList.add("eddit-filter-subreddit-link");
filterLink.addEventListener("click", self._filterLinkClick);
var tagLine = self.element.querySelector(".tagline");
if (tagLine) {
tagLine.appendChild(filterLink);
}
};
this._filterLinkClick = function(e) {
e.stopPropagation();
e.preventDefault();
Redditmod.SubredditFilters.add(self.subreddit);
};
this.hide = function() { self.element.classList.add("eddit-filtered-post"); };
this.show = function() { self.element.classList.remove("eddit-filtered-post"); };
this.refresh = function() {
if (Redditmod.SubredditFilters.isFiltered(self.subreddit)) {
self.hide();
} else if (Redditmod.NsfwFilter.enabled && self.element.classList.contains("over18")) {
self.hide();
} else {
if (Redditmod.VisitedLinks.contains(self.mediaHandler.url)) {
self.mediaHandler.markVisited();
}
self.show();
}
};
this.clickExpando = function() {
var button = self.element.querySelector(".expando-button");
if (button) {
button.click();
return true;
} else {
return false;
}
};
this.markVisited = function() {
var linkTitle = self.element.querySelector("a.title");
if (linkTitle) {
linkTitle.classList.add("visited");
}
};
this.init();
};
Redditmod.Posts = (function() {
var self = this;
this._things = [];
this.init = function() {
var postContainer = document.querySelector("#siteTable");
if (!postContainer) return;
var domPosts = postContainer.querySelectorAll(".thing.link");
domPosts.forEach(function(domPost) {
self._add(domPost);
});
self._postListener.observe(postContainer, {childList: true});
};
this._postListener = new MutationObserver(function(mutations) {
mutations.forEach(function(mutation) {
mutation.addedNodes.forEach(function(addedNode) {
if (addedNode.classList.contains("thing")) {
self._add(addedNode);
}
});
});
});
this._add = function(thingElement) {
self._things.push(new Redditmod.Post(thingElement));
};
this.refresh = function() {
self._things.forEach(function(thing) {
thing.refresh();
});
};
this.init();
return this;
})();
Redditmod.Nav = (function() {
var self = this;
// Flag when we are already loading the next page.
this.loading = false;
this.init = function() {
self.addScrollListener();
self._scrollListener();
self.overrideNextButton();
};
// Load more posts when user scrolls near bottom of the page.
this.addScrollListener = function() {
window.addEventListener("scroll", self._scrollListener);
};
this.removeScrollListener = function() {
window.removeEventListener("scroll", self._scrollListener);
};
this._scrollListener = function(event) {
var evt = event || {pageY:0};
if (document.body.clientHeight - (window.scrollY + window.innerHeight) < 200) {
self.loadMorePosts();
}
};
// Instead of navigating to the next page, use AJAX to load the posts.
this.overrideNextButton = function() {
var nextButton = document.querySelector(".next-button a");
if (!nextButton) return;
nextButton.addEventListener("click", function(e) {
e.stopPropagation();
e.preventDefault();
self.loadMorePosts();
});
};
// Inserts reddit posts from the AJAX response onto the current page.
this._injectPosts = function(response) {
var nav = document.querySelector(".nav-buttons");
// Convert AJAX response to DOM, add just the posts to the current page.
var nextPage = document.createElement("html");
nextPage.innerHTML = response.responseText;
nextPage.querySelectorAll("#siteTable > *").forEach(function(otherElement) {
nav.parentNode.insertBefore(otherElement, nav);
});
nav.parentNode.removeChild(nav);
// Re-enable features on the "new page".
self.overrideNextButton();
self.addScrollListener();
self.loading = false;
setTimeout(self._scrollListener, 250);
};
// Fetches posts from the current page's "next" button.
this.loadMorePosts = function() {
var nextButton = document.querySelector(".next-button a");
if (!self.loading && nextButton) {
self.loading = true;
self.removeScrollListener();
GM_xmlhttpRequest({
method: "GET",
url: nextButton.href,
onload: self._injectPosts
});
var parentNode = nextButton.parentNode.parentNode;
parentNode.style["background-color"] = "#aaa";
parentNode.opacity = "0.5";
parentNode.cursor = "not-allowed";
parentNode.childNodes.forEach(function(child) {
if (child.style) {
child.style.display = "none";
}
});
}
};
this.init();
})();
Redditmod.Utils = (function() {
var self = this;
/** Looks at the parents of the event's target until it hits a ".thing" */
this.findThing = function(event) {
var IGNORED_CLASSES = ["expando-button", "midcol"];
var UNIGNORED_CLASSES = ["thumbnail"];
var IGNORED_TAGS = ["A", "INPUT", "TEXTAREA", "BUTTON"];
var target = event.target, ignoredClass, ignoredTag, doNotIgnore, shouldIgnore;
while (!target.classList.contains("thing")) {
ignoredClass = IGNORED_CLASSES.find(function(c) { return target.classList.contains(c); }) !== undefined;
ignoredTag = IGNORED_TAGS.indexOf(target.tagName.toUpperCase()) >= 0;
doNotIgnore = UNIGNORED_CLASSES.find(function(c) { return target.classList.contains(c); }) !== undefined;
shouldIgnore = (ignoredClass || ignoredTag) && !doNotIgnore;
if (shouldIgnore) return null;
target = target.parentElement;
if (!target) return null;
}
return target;
};
return this;
})();
Redditmod.Comment = function(domComment) {
if (!(this instanceof Redditmod.Comment)) return new Redditmod.Comment(domComment);
var self = this;
this.element = domComment;
this.toggleCollapse = function(e) {
var target = Redditmod.Utils.findThing(e);
if (!target) return;
e.stopPropagation();
e.preventDefault();
if (target.classList.contains("noncollapsed")) {
target.classList.remove("noncollapsed");
target.classList.add("collapsed");
} else {
target.classList.remove("collapsed");
target.classList.add("noncollapsed");
}
};
domComment.querySelector(".entry").addEventListener("mouseenter", function(e) {
document.querySelectorAll(".eddit-comment-hover").forEach(function(element) {
element.classList.remove("eddit-comment-hover");
});
self.element.classList.add("eddit-comment-hover");
});
domComment.querySelector(".entry").addEventListener("mouseleave", function(e) {
self.element.classList.remove("eddit-comment-hover");
});
domComment.addEventListener("click", this.toggleCollapse);
};
Redditmod.Comments = (function() {
var self = this;
this._comments = [];
this.add = function(domComment) {
self._comments.push(Redditmod.Comment(domComment));
};
document.querySelectorAll(".thing.comment").forEach(self.add);
return {
add: this.add
};
})();