27 lines
605 B
TypeScript
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);
|
||
|
});
|