iles
Version:
Vite & Vue powered static site generator with partial hydration
17 lines (16 loc) • 540 B
JavaScript
import { shallowRef } from 'vue';
import { pageFromRoute } from './composables/pageData';
export async function resolveLayout(route) {
const page = pageFromRoute(route);
try {
const layout = page.layoutFn === false ? false : await page.layoutFn?.();
if (route.meta.layout)
route.meta.layout.value = layout;
else
route.meta.layout = shallowRef(layout);
}
catch (error) {
console.error(`Error while fetching '${page?.layoutName}' layout.`);
throw error;
}
}