diff --git a/ani-search-enhancer.user.js b/ani-search-enhancer.user.js
index dbf735e..5d8a586 100644
--- a/ani-search-enhancer.user.js
+++ b/ani-search-enhancer.user.js
@@ -1,48 +1,57 @@
// ==UserScript==
// @name aniSearch Enhancer
// @namespace http://git.nivram.io/marvinlehmann/ani-search-enhancer
-// @version 1.82
+// @version 1.90
// @description Adds buttons to the info site of an anime on aniSearch which links you directly to various streaming portals.
// @author Marvin Lehmann
// @grant GM_xmlhttpRequest
// @include /^https?://www.anisearch.de/anime/.*$/
// @connect animepahe.com
// @connect twist.moe
-// @require http://code.jquery.com/jquery-latest.js
// @downloadURL http://git.nivram.io/marvinlehmann/ani-search-enhancer/raw/master/ani-search-enhancer.user.js
// @supportURL http://git.nivram.io/marvinlehmann/ani-search-enhancer/issues
// ==/UserScript==
-this.$ = this.jQuery = jQuery.noConflict(true);
+(function () {
+ 'use strict';
-$(function () {
- $('head').append(`
- `);
- const animeTitle = $('#htitle > span[itemprop=name]').text();
- const animeReleaseYear = $('#htitle > span.release_year').text().replace(/\(|\)/g, '');
+ const animeTitle = document.getElementById("htitle").textContent;
+ const animeReleaseYear = document.querySelector("header .release_year").textContent.match(/\d+/);
if (animeTitle) {
const encodedTitle = encodeURI(animeTitle).replace(/'/g, "%27");
- if ($('#page-action').length === 0) {
- $('#htitle').after('
');
+ if (!document.getElementById("page-action")) {
+ document.getElementById("htitle").insertAdjacentHTML("beforeend", /*html*/ ``);
}
- $('#page-action').append(`
-
+ document.getElementById("page-action").insertAdjacentHTML("beforeend", //html
+ `
`);
- const $stream_links = $('#stream-links');
- const $page_action_stream = $('#page-action-stream')
+ const stream_links = document.getElementById("stream-links");
+ const page_action_stream = document.getElementById("page-action-stream");
const clickHandler = function (e) {
if (e.target === e.currentTarget) {
- const targetUrl = $stream_links.val();
+ const targetUrl = stream_links.value;
if (targetUrl) {
- window.open(targetUrl, '_blank');
+ window.open(targetUrl, "_blank");
}
}
};
- // $stream_links.change(clickHandler) ;
- $page_action_stream.click(clickHandler);
+ page_action_stream.onclick = clickHandler;
- $stream_links.append(new Option("> Stream List", "https://www.reddit.com/r/animepiracy/wiki/animestreamlist"));
- $stream_links.append(new Option("@ 9anime", "https://9anime.to/search?keyword=" + encodedTitle));
- $stream_links.append(new Option("@ AnimeVibe", "https://animevibe.xyz/?s=" + encodedTitle));
- $stream_links.append(new Option("@ Proxer", "https://proxer.me/search?s=search&name=" + encodedTitle + "&typ=all-anime#top"));
- $stream_links.append(new Option("@ AnimeUltima", "https://www16.animeultima.eu/search?search=" + encodedTitle));
- $stream_links.append(new Option("@ Twist.moe (?)", "http://twist.moe"));
+ /** @param {HTMLOptionElement} option */
+ const stylized = (option, styles) => {
+ Object.assign(option.style, styles);
+ return option;
+ }
+
+ stream_links.insertAdjacentElement("beforeend", stylized(new Option("Piracy Index", "https://piracy.moe/"), { direction: "rtl", fontWeight: "bold" }));
+ stream_links.insertAdjacentElement("beforeend", new Option("AniCloud", "https://anicloud.io/search?q=" + encodedTitle));
+ stream_links.insertAdjacentElement("beforeend", new Option("AnimeUltima", "https://www16.animeultima.eu/search?search=" + encodedTitle));
+ stream_links.insertAdjacentElement("beforeend", stylized(new Option("Twist.moe", "http://twist.moe"), { fontStyle: "italic", color: "lightgray" }));
GM_xmlhttpRequest({
- method: 'GET',
- url: 'https://animepahe.com/api?m=search&l=3&q=' + encodedTitle,
- responseType: 'json',
+ method: "GET",
+ url: "https://animepahe.com/api?m=search&l=3&q=" + encodedTitle,
+ responseType: "json",
onload: function (resp) {
if (resp.response.total > 0) {
const firstResult = resp.response.data[0];
- const targetPage = 'https://animepahe.com/anime/' + firstResult.session;
- $stream_links.append(new Option("@ AnimePahe", targetPage));
+ const targetPage = "https://animepahe.com/anime/" + firstResult.session;
+ stream_links.insertAdjacentElement("beforeend", new Option("AnimePahe", targetPage));
// Did we possibly get the wrong one?
// if (!firstResult.started_airing_date.includes(animeReleaseYear)) {
@@ -88,9 +100,9 @@ $(function () {
// $masteraniButton.css('opacity', 0.5);
// }
} else {
- $stream_links.append(new Option("@ AnimePahe (?)", "https://animepahe.com"));
+ stream_links.insertAdjacentElement("beforeend", stylized(new Option("AnimePahe", "https://animepahe.com"), { fontStyle: "italic", color: "gray" }));
}
}
});
}
-});
\ No newline at end of file
+})();
\ No newline at end of file