mirror of
https://github.com/moku-project/Moku.git
synced 2026-06-14 09:49:58 -05:00
Reader route migration
This commit is contained in:
@@ -1,48 +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'
|
||||
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
|
||||
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,
|
||||
if (!mangaId) {
|
||||
throw error(400, 'Missing manga id');
|
||||
}
|
||||
} catch (err) {
|
||||
const message = err instanceof Error ? err.message : String(err)
|
||||
|
||||
seriesState.error = message
|
||||
seriesState.chaptersError = message
|
||||
try {
|
||||
seriesState.loading = true;
|
||||
seriesState.error = null;
|
||||
seriesState.chaptersLoading = true;
|
||||
seriesState.chaptersError = null;
|
||||
|
||||
throw error(500, message)
|
||||
} finally {
|
||||
seriesState.loading = false
|
||||
seriesState.chaptersLoading = false
|
||||
}
|
||||
}
|
||||
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;
|
||||
}
|
||||
};
|
||||
Reference in New Issue
Block a user