From aba08797df9996b02020ec5ceb436e0e9a3451a0 Mon Sep 17 00:00:00 2001 From: ThaUnknown Date: Fri, 23 Apr 2021 22:33:12 +0200 Subject: [PATCH] use relations for anime name resolving --- app/index.html | 2 +- app/js/animeHandler.js | 23 ++++++++++++++--------- app/js/interface.js | 3 ++- app/js/settingsHandler.js | 10 ++++------ 4 files changed, 21 insertions(+), 17 deletions(-) diff --git a/app/index.html b/app/index.html index 7c00d4a..ca7285e 100644 --- a/app/index.html +++ b/app/index.html @@ -237,7 +237,7 @@ -
+
diff --git a/app/js/animeHandler.js b/app/js/animeHandler.js index 62a27fe..0107777 100644 --- a/app/js/animeHandler.js +++ b/app/js/animeHandler.js @@ -206,7 +206,6 @@ query ($id: Int, $mediaId: Int){ date.setHours(0, 0, 0, 0) variables.from = date.getTime() / 1000 variables.to = (date.getTime() + 7 * 24 * 60 * 60 * 1000) / 1000 - console.log(variables) query = ` query ($page: Int, $perPage: Int, $from: Int, $to: Int) { Page (page: $page, perPage: $perPage) { @@ -377,9 +376,9 @@ function viewAnime (media) { viewRelationsGallery.classList.add('d-none') } viewSynonym.onclick = () => { - store[viewSynonymText.value] = media + relations[viewSynonymText.value] = media.id viewSynonymText.value = '' - localStorage.setItem('store', JSON.stringify(store)) + localStorage.setItem('relations', JSON.stringify(relations)) } episodes.innerHTML = '' if (media.streamingEpisodes.length) { @@ -519,7 +518,7 @@ async function resolveFileMedia (opts) { // opts.fileName opts.method opts.isRelease const elems = await anitomyscript(opts.fileName) - if (!store[elems.anime_title]) { + if (!relations[elems.anime_title]) { // resolve name and shit let method, res if (opts.isRelease) { @@ -535,9 +534,15 @@ async function resolveFileMedia (opts) { method.status = undefined res = await alRequest(method) } - if (res.data.Page.media[0]) store[elems.anime_title] = res.data.Page.media[0] + if (res.data.Page.media[0]) { + relations[elems.anime_title] = res.data.Page.media[0].id + store[res.data.Page.media[0].id] = res.data.Page.media[0] + } } - let episode; let media = store[elems.anime_title] + if (!store[relations[elems.anime_title]] && relations[elems.anime_title]) { + store[relations[elems.anime_title]] = (await alRequest({ method: 'SearchIDSingle', id: relations[elems.anime_title] })).data.Media + } + let episode; let media = store[relations[elems.anime_title]] // resolve episode, if movie, dont. if ((media?.format !== 'MOVIE' || (media.episodes || media.nextAiringEpisode.episode)) && elems.episode_number) { async function resolveSeason (opts) { @@ -620,8 +625,8 @@ async function resolveFileMedia (opts) { } } -let store = JSON.parse(localStorage.getItem('store')) || {} -store = store || {} +const store = {} +const relations = JSON.parse(localStorage.getItem('relations')) || {} function getRSSurl () { if (Object.values(torrent4list.options).filter(item => item.value === settings.torrent4)[0]) { @@ -645,7 +650,7 @@ async function releasesCards (items, limit) { cards.push(cardCreator(mediaInformation)) }) }) - localStorage.setItem('store', JSON.stringify(store)) + localStorage.setItem('relations', JSON.stringify(relations)) return cards } async function releasesRss (limit) { diff --git a/app/js/interface.js b/app/js/interface.js index ad4c9bd..7c32d7a 100644 --- a/app/js/interface.js +++ b/app/js/interface.js @@ -86,7 +86,7 @@ async function loadHomePage () { notification.onclick = async () => { window.parent.focus() client.addTorrent(doc.querySelector('item').querySelector('link').textContent, { media: mediaInformation, episode: mediaInformation.episode }) - store[mediaInformation.parseObject.anime_title] = await alRequest({ id: mediaInformation.media.id, method: 'SearchIDSingle' }).then(res => res.data.Media) + store[relations[mediaInformation.parseObject.anime_title]] = await alRequest({ id: mediaInformation.media.id, method: 'SearchIDSingle' }).then(res => res.data.Media) } } }) @@ -169,6 +169,7 @@ async function loadHomePage () { media = media.media } cards.push(cardCreator({ media: media, schedule: opts.schedule, onclick: () => viewAnime(media) })) + store[media.id] = media }) opts.gallery.append(...cards) canScroll = true diff --git a/app/js/settingsHandler.js b/app/js/settingsHandler.js index a425a1c..fd4a88c 100644 --- a/app/js/settingsHandler.js +++ b/app/js/settingsHandler.js @@ -5,7 +5,7 @@ setRes.addEventListener('click', restoreDefaults) settingsTab.addEventListener('click', applySettingsTimeout) volume.addEventListener('click', applySettingsTimeout) regProtButton.addEventListener('click', registerProtocol) -let settings = {} +const settings = JSON.parse(localStorage.getItem('settings')) || {} function restoreDefaults () { localStorage.removeItem('settings') location.reload() @@ -38,15 +38,13 @@ function registerProtocol () { } } -if (!localStorage.getItem('settings')) { +if (!settings) { saveSettings() location.reload() -} else { - settings = JSON.parse(localStorage.getItem('settings')) } clearRelCache.onclick = () => { - localStorage.removeItem('store') - store = {} + localStorage.removeItem('relations') + relations = {} } renderSettings()