diff --git a/app/js/animeHandler.js b/app/js/animeHandler.js index 35bf366..410604c 100644 --- a/app/js/animeHandler.js +++ b/app/js/animeHandler.js @@ -21,7 +21,7 @@ var options = { const searchRx = /(magnet:)?([A-F\d]{8,40})?(.*\.torrent)?/i; function searchBox() { let regexParse = searchRx.exec(search.value) - if (regexParse[1] || regexParse[2] || regexParse[3]) { + if (regexParse[1] || regexParse[2] || regexParse[4]) { addTorrent(search.value) } else { searchAnime(search.value) @@ -218,7 +218,7 @@ function cardCreator(media, regexParse) {
-
${media.title.english || media.title.romaji}${regexParse ? " - " + regexParse[3] : ""}
+
${media.title.english || media.title.romaji}${regexParse ? " - " + regexParse[4] : ""}

${(media.format ? (media.format == "TV" ? "" + media.format + " Show" : "" + media.format.toLowerCase().replace(/_/g, " ")) : "") + ""} ${media.episodes ? "" + media.episodes + " Episodes" : media.duration ? "" + media.duration + " Minutes" : ""} @@ -242,7 +242,7 @@ function cardCreator(media, regexParse) {

-
${regexParse ? regexParse[2] + " - " + regexParse[3] : ""}
+
${regexParse ? regexParse[2] + " - " + regexParse[4] : ""}
@@ -321,7 +321,8 @@ async function nyaaRss(url) { } -const regex = /((?:\[[^\]]*\])*)?\s*((?:[^\d\[\.](?!S\d))*)?\s*((?:S\d+[^\w\[]*E?)?[\d\-]*)\s*(.*)?/i; +const regex = /((?:\[[^\]]*\])*)?\s*((?:[^\d\[\.](?!S\d))*)?\s*((?:S\d+[^\w\[]*E?)?[\d\-]*)\s*(.*)?/i, + eregex = /(\[.*\]\ ?)?(.+?(?=\ \–\ \d))?(\ \–\ )?(\d+)?/i let store = {}; async function hsRss(url) { @@ -337,12 +338,7 @@ async function hsRss(url) { let items = doc.querySelectorAll("item") for (let item of items) { let i = item.querySelector.bind(item), - regexParse = regex.exec(i("title").textContent) - if (regexParse[2]) { - if (regexParse[2].endsWith(" - ")) { - regexParse[2] = regexParse[2].slice(0, -3) - } - } + regexParse = eregex.exec(i("title").textContent) if (!store[regexParse[2]] && !alResponse.data.Page.media.some(media => (Object.values(media.title).concat(media.synonyms).filter(name => name != null).includes(regexParse[2]) && ((store[regexParse[2]] = media) && true)))) { //shit not found, lookup let res = await alRequest(regexParse[2], 1) @@ -351,7 +347,7 @@ async function hsRss(url) { let media = store[regexParse[2]], template = cardCreator(media, regexParse) template.onclick = function () { - selected = [store[regexParse[2]], regexParse[3]] + selected = [regexParse[2], regexParse[4]] addTorrent(i('link').textContent) } frag.appendChild(template) diff --git a/app/js/playerHandler.js b/app/js/playerHandler.js index bd4194a..e69f1b9 100644 --- a/app/js/playerHandler.js +++ b/app/js/playerHandler.js @@ -120,17 +120,17 @@ function finishThumbnails(file) { file.getBlobURL((err, url) => { thumbVid.src = url }) - thumbVid.addEventListener('loadeddata', function () { + thumbVid.addEventListener('loadeddata', () => { loadTime(); - }, false) + }) - thumbVid.addEventListener('seeked', function () { + thumbVid.addEventListener('seeked', () => { createThumbnail(thumbVid); loadTime(); - }, false) + }) function loadTime() { - if (thumbVid.ended == false) { + if (thumbVid.currentTime != thumbVid.duration) { thumbVid.currentTime = thumbVid.currentTime + 5; } else { thumbVid.remove() @@ -185,7 +185,7 @@ function resetTimer() { let islooped; function toTS(sec) { - if (Number.isNaN(sec)) { + if (Number.isNaN(sec) || sec < 0) { return "00:00"; } @@ -388,12 +388,12 @@ function selPlaying(sel) { nowPlaying = sel if ('mediaSession' in navigator) { navigator.mediaSession.metadata = new MediaMetadata({ - title: nowPlaying[0].title.english || nowPlaying[0].title.romaji, + title: store[nowPlaying[0]] ? store[nowPlaying[0]].title.english || store[nowPlaying[0]].title.romaji : nowPlaying[0], artist: "Episode " + nowPlaying[1], album: "Miru", artwork: [ { - src: nowPlaying[0].coverImage.medium, + src: store[nowPlaying[0]] ? store[nowPlaying[0]].coverImage.medium : "", sizes: '128x128', type: 'image/png' }