schlechtenburg/packages/example-site/middleware/page.ts

27 lines
605 B
TypeScript

import { IPage } from "~~/composables/states";
export default defineNuxtRouteMiddleware(async (to, from) => {
const { setPage } = usePage();
const { data, error } = await useAsyncGql({
operation: 'pages',
variables: {
filters: { path: { eq: to.path }},
},
});
if (error.value) {
console.error('Error getting pages!');
console.error(error.value);
return;
}
const newPage = (data.value?.pages?.data[0] as IPage) || null;
if (newPage?.attributes && !newPage?.attributes?.block) {
newPage.attributes.block = getNewPageBlock();
}
setPage(newPage);
});