From aaad9deedd0dc74d4d9e6f2d4858116b8ac3dfbb Mon Sep 17 00:00:00 2001 From: Daniel Bulant Date: Sat, 21 May 2022 11:53:52 +0200 Subject: [PATCH] various info improvements --- src/pages/[manga]/index.svelte | 109 +++++++++++++++++++++++++++------ 1 file changed, 91 insertions(+), 18 deletions(-) diff --git a/src/pages/[manga]/index.svelte b/src/pages/[manga]/index.svelte index 953b7ca..41b628a 100644 --- a/src/pages/[manga]/index.svelte +++ b/src/pages/[manga]/index.svelte @@ -222,10 +222,10 @@ }); } - function anilistInfo(title) { + function anilistInfo(id) { return makeRequest(` - query ($search: String) { - Media(search: $search, format: MANGA) { + query ($id: Int) { + Media(id: $id, format: MANGA) { id type format @@ -248,11 +248,11 @@ color } } - }`, { search: title }).then(t => t.data.Media); + }`, { id }).then(t => t.data.Media); } let anilistData; - $: anilistData = anilistInfo(title); + $: anilistData = manga.links.al && anilistInfo(manga.links.al); var selectedTab = "Chapters"; const tabs = ["Chapters", "Art", "More information"]; @@ -261,6 +261,8 @@ if(swiper && tabs.indexOf(selectedTab) !== swiper.realIndex) swiper.slideTo(tabs.indexOf(selectedTab)); } + $: chapters && chapters.then(() => swiper.slideToClosest()) + let swiper; function swiperInit(e) { swiper = e.detail[0]; @@ -280,11 +282,11 @@ -{#await anilistData then data} +{#if anilistData} {#await anilistData then data} {#if data.bannerImage} selectedImage = data.bannerImage} alt=""> {/if} -{/await} +{/await} {/if} @@ -298,12 +300,13 @@ {#if manga.year} {manga.year} · {/if} - {#await anilistData then data} {data.status} {data.isAdult ? "ยท 18+" : ""} {/await} + {#if anilistData} {#await anilistData then data} {data.status} · {/await} {/if} + {manga.contentRating}
{#if relationships.find(t => t.type === "cover_art")} - selectedImage = `https://cors-anywhere.danbulant.workers.dev/?https://uploads.mangadex.org/covers/${mangaId}/${relationships.find(t => t.type === "cover_art").attributes.fileName}.512.jpg`}> + selectedImage = `https://cors-anywhere.danbulant.workers.dev/?https://uploads.mangadex.org/covers/${mangaId}/${relationships.find(t => t.type === "cover_art").attributes.fileName}.512.jpg`}> {/if}
{#if relationships.find(t => t.type === "author")} @@ -323,7 +326,8 @@
@@ -406,26 +410,95 @@
- {#await anilistData then data} - Anilist entry

- - Genres: - {#each data.genres as genre} - {genre} - {/each} + {#if anilistData} {#await anilistData then data} + Genres: {data.genres.join(", ")}
AL popularity: {data.popularity}
favorite on AL: {data.isFavourite ? "yes" : "no"}
AL score: {data.averageScore}
Also known as: {data.synonyms.join(", ")} {Object.values(manga.title).filter(t => t !== title).join(", ")} - {/await} + +

+ {/await} {/if} + +
+ {#if relationships.filter(t => t.type === "manga").length} + + {/if} +
+

Links

+ + {#if manga.links.al} + Anilist
+ {/if} + {#if manga.links.ap} + Animeplanet
+ {/if} + {#if manga.links.bw} + Bookwalker
+ {/if} + {#if manga.links.mu} + Manga updates
+ {/if} + {#if manga.links.nu} + Novel updates
+ {/if} + {#if manga.links.amz} + Amazon
+ {/if} + {#if manga.links.ebj} + Ebookjapan
+ {/if} + {#if manga.links.mal} + MyAnimeList
+ {/if} + {#if manga.links.cdj} + CDJapan
+ {/if} + {#if manga.links.raw} + RAW
+ {/if} + {#if manga.links.engtl} + engtl
+ {/if} +
+