diff --git a/common/views/ViewAnime/ViewAnime.svelte b/common/views/ViewAnime/ViewAnime.svelte index 86ef073..b118a1a 100644 --- a/common/views/ViewAnime/ViewAnime.svelte +++ b/common/views/ViewAnime/ViewAnime.svelte @@ -21,15 +21,34 @@ const view = getContext('view') function close (play) { $view = null + mediaList = [] if (!play) { overlay = 'none' } } + function back () { + if (mediaList.length > 1) { + const prevMedia = mediaList[mediaList.length - 2] + mediaList.splice(mediaList.length - 2, 2); + $view = prevMedia + } + } + function saveMedia () { + if (mediaList.length > 0) { + const lastMedia = mediaList[mediaList.length - 1] + if (media !== lastMedia) { + mediaList.push(media) + } + } else { + mediaList.push(media) + } + } let modal let container = null + let mediaList = [] $: media = $view - $: media && (modal?.focus(), overlay = 'viewanime', (container && container.dispatchEvent(new Event('scrolltop')))) $: mediaRecommendation = media && anilistClient.recommendations({ id: media.id }) + $: media && (modal?.focus(), overlay = 'viewanime', saveMedia(), (container && container.dispatchEvent(new Event('scrolltop')))) function checkClose ({ keyCode }) { if (keyCode === 27) close() } @@ -78,6 +97,9 @@