shack/pages/s/@id/index.page.server.js

30 lines
619 B
JavaScript

import { RenderErrorPage } from 'vite-plugin-ssr/RenderErrorPage';
import { fetchShelf } from '../../../src/shelves';
import { fetchShelfPosts } from '../../../src/posts';
async function onBeforeRender(pageContext) {
const shelf = await fetchShelf(pageContext.routeParams.id);
const posts = await fetchShelfPosts(pageContext.routeParams.id, { limit: 50 });
if (!shelf) {
throw RenderErrorPage({
pageContext: {
pageProps: {
errorInfo: 'No shelf with this name exists',
},
},
});
}
return {
pageContext: {
pageData: {
shelf,
posts,
},
},
};
}
export { onBeforeRender };