Implement series route

This commit is contained in:
Zerebos
2026-05-23 16:12:15 -04:00
parent f8f080eff3
commit 54307d4411
2 changed files with 529 additions and 13 deletions
+48
View File
@@ -0,0 +1,48 @@
import { error } from '@sveltejs/kit'
import type { PageLoad } from './$types'
import { getAdapter } from '$lib/request-manager'
import { seriesState } from '$lib/state/series.svelte'
import { readerState } from '$lib/state/reader.svelte'
export const load: PageLoad = async ({ params }) => {
const mangaId = params.mangaId
if (!mangaId) {
throw error(400, 'Missing manga id')
}
try {
seriesState.loading = true
seriesState.error = null
seriesState.chaptersLoading = true
seriesState.chaptersError = null
const adapter = getAdapter()
const [manga, chapters] = await Promise.all([
adapter.getManga(mangaId),
adapter.getChapters(mangaId),
])
seriesState.current = manga
seriesState.chapters = chapters
readerState.manga = manga
readerState.chapters = chapters
return {
manga,
chapters,
mangaId,
}
} catch (err) {
const message = err instanceof Error ? err.message : String(err)
seriesState.error = message
seriesState.chaptersError = message
throw error(500, message)
} finally {
seriesState.loading = false
seriesState.chaptersLoading = false
}
}