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'
}