Files
cultureat-bak/wp-content/themes/ccat/app/composables/useMenuItems.ts
Pascal Martineau 312a6f1b62
Some checks failed
NuxtHub deployment / deploy (push) Failing after 21s
WordPress deployment / deploy (push) Successful in 8s
feat: Initial Nuxt app
2025-08-27 13:37:40 -04:00

15 lines
656 B
TypeScript

import type { MenuLocationEnum } from "#graphql-operations";
import type { NavigationMenuItem } from "@nuxt/ui";
export async function useMenuItems(location: MenuLocationEnum) {
const { data } = await useAsyncGraphqlQuery("menuItems", { location }, { graphqlCaching: { client: true } });
if (data.value?.errors?.length) {
throw createError({ statusCode: 500, message: "Erreur lors de la récupération des éléments de menu" });
}
const menuItems: NavigationMenuItem[] = (data.value?.data.menuItems?.nodes || []).map(({ childItems, ...menuItem }) => ({
...menuItem,
children: childItems?.nodes || [],
}));
return { menuItems };
}