diff --git a/src/lib/components/artList.svelte b/src/lib/components/artList.svelte index ad6a130..fc9b4ac 100644 --- a/src/lib/components/artList.svelte +++ b/src/lib/components/artList.svelte @@ -1,7 +1,7 @@ diff --git a/src/routes/[manga]/+layout.ts b/src/routes/[manga]/+layout.ts index ad432e8..410ea2d 100644 --- a/src/routes/[manga]/+layout.ts +++ b/src/routes/[manga]/+layout.ts @@ -3,10 +3,6 @@ import request from '$lib/util/request'; /** @type {import('./$types').PageLoad} */ export async function load({ params }) { - const blocked = ["227e3f72-863f-46f9-bafe-c43104ca29ee", "b0b721ff-c388-4486-aa0f-c2b0bb321512"]; - 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&includes[]=manga"); console.log(manga); return { diff --git a/src/routes/[manga]/+page.svelte b/src/routes/[manga]/+page.svelte index 0f2baf1..b2f6948 100644 --- a/src/routes/[manga]/+page.svelte +++ b/src/routes/[manga]/+page.svelte @@ -30,16 +30,19 @@ var title = manga.title.en || manga.title.jp || Object.values(manga.title)[0]; $: title = manga.title.en || manga.title.jp || Object.values(manga.title)[0]; + const defaultLanguages = ["en", "uk"]; + let languages = defaultLanguages; + let anilistData; $: anilistData = manga.links && manga.links.al && anilistInfo(manga.links.al); let cache: { id: string, data: any, total } | null = null; - async function getMangaChapters(id) { + async function getMangaChapters(id, languages) { if(cache?.id === id && cache.data.length >= cache.total) return cache; const params = new URLSearchParams(); params.append("limit", "500"); - params.append("translatedLanguage[]", "en"); - params.append("translatedLanguage[]", "uk"); + for(let lang of languages) + params.append("translatedLanguage[]", lang); params.append("includes[]", "scanlation_group"); params.append("contentRating[]", "safe"); params.append("contentRating[]", "suggestive"); @@ -58,7 +61,7 @@ var loadingChapters = false; $: if(chapters?.id !== mangaId && !loadingChapters) { loadingChapters = true; - getMangaChapters(mangaId).then(async data => { + getMangaChapters(mangaId, languages).then(async data => { chapters = data; await tick(); swiper.slideToClosest(); @@ -326,6 +329,22 @@ let uniqueChapterCount; $: uniqueChapterCount = chapters?.data.filter((t, i, a) => a.findIndex(t2 => Math.floor(t2.attributes.chapter) === Math.floor(t.attributes.chapter)) === i).length; + + let list: any; + $: list = request( + "cover?limit=50&manga[]=" + mangaId + languages.map(t => "&locales[]=" + t).join("") + ); + + function toggleLang(lang) { + return () => { + if(languages.includes(lang)) { + languages = languages.filter(t => t !== lang); + } else { + languages.push(lang); + languages = languages; + } + } + } @@ -423,6 +442,16 @@ {/each} {/if} + +
+ {#each manga.availableTranslatedLanguages as lang} + + {:else} + No languages available + {/each} +
- +
+ +
+

@@ -525,7 +557,7 @@

- +
@@ -616,6 +648,26 @@