From 9386952cd4ca1c0f3df8b96e08a778eba0261603 Mon Sep 17 00:00:00 2001 From: Daniel Bulant Date: Sat, 10 Dec 2022 17:38:32 +0100 Subject: [PATCH] improved more information page --- src/routes/[manga]/+layout.ts | 2 +- src/routes/[manga]/+page.svelte | 77 +++++++-------- src/routes/[manga]/favicon.svelte | 11 +++ src/routes/[manga]/relatedManga.svelte | 129 +++++++++++++++++++++++++ 4 files changed, 177 insertions(+), 42 deletions(-) create mode 100644 src/routes/[manga]/favicon.svelte create mode 100644 src/routes/[manga]/relatedManga.svelte diff --git a/src/routes/[manga]/+layout.ts b/src/routes/[manga]/+layout.ts index 2d9a03d..ad432e8 100644 --- a/src/routes/[manga]/+layout.ts +++ b/src/routes/[manga]/+layout.ts @@ -7,7 +7,7 @@ export async function load({ params }) { if (blocked.includes(params.manga)) { throw error(404, 'blocked because of copyright'); } - const manga = await request("manga/" + params.manga + "?includes[]=author&includes[]=cover_art&includes[]=artist"); + const manga = await request("manga/" + params.manga + "?includes[]=author&includes[]=cover_art&includes[]=artist&includes[]=manga"); console.log(manga); return { manga: manga.data.attributes, diff --git a/src/routes/[manga]/+page.svelte b/src/routes/[manga]/+page.svelte index 93192fd..9bf754a 100644 --- a/src/routes/[manga]/+page.svelte +++ b/src/routes/[manga]/+page.svelte @@ -16,6 +16,8 @@ import Navbar from "./navbar.svelte"; import ExpandableDescription from "./expandableDescription.svelte"; import { tick } from "svelte"; + import Favicon from "./favicon.svelte"; + import RelatedManga from "./relatedManga.svelte"; export var data; @@ -294,23 +296,12 @@ var selectedImage = null; - const relatedMangaMap = { - spin_off: "Spin off", - doujinshi: "Doujinshi", - side_story: "Side story", - colored: "Colored version", - monochrome: "Monochrome version", - adapted_from: "Adapted from", - based_on: "Based on", - shared_universe: "Shared universe" - }; - var width; var smallScreenMode = width < 700; $: smallScreenMode = width < 700; - var scrollY, innerHeight, offsetHeight; + var scrollY, innerHeight; let additionalImages = []; @@ -495,73 +486,77 @@
- {#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} {/if} -
- {#if relationships.filter(t => t.type === "manga").length} + {#if anilistData} {#await anilistData then data}
-

Related manga

- {#each relationships.filter(t => t.type === "manga") as relatedManga} - {relatedMangaMap[relatedManga.related] || relatedManga.related}
- {/each} + 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(", ")} + +

- {/if} + {/await} {/if} {#if manga.links}

Links

{#if manga.links.al} - Anilist
+ Anilist
{/if} {#if manga.links.ap} - Animeplanet
+ Animeplanet
{/if} {#if manga.links.bw} - Bookwalker
+ Bookwalker
{/if} {#if manga.links.mu} - Manga updates
+ Manga updates
{/if} {#if manga.links.nu} - Novel updates
+ Novel updates
{/if} {#if manga.links.amz} - Amazon
+ Amazon
{/if} {#if manga.links.ebj} - Ebookjapan
+ Ebookjapan
{/if} {#if manga.links.mal} - MyAnimeList
+ MyAnimeList
{/if} {#if manga.links.cdj} - CDJapan
+ CDJapan
{/if} {#if manga.links.raw} - RAW
+ RAW
{/if} {#if manga.links.engtl} - engtl
+ engtl
{/if} + + Mangadex.org
{/if}
+ + {#if relationships.filter(t => t.type === "manga").length} +
+ swiper.slideToClosest()} mangaRelations={relationships.filter(t => t.type === "manga")} /> +
+ {/if}
\ No newline at end of file