import { fetchGraphQL } from './graphql-client.js'; interface MenuItemNode { uri: string; url: string; order: number; label: string; } interface MenuNode { name: string; menuItems: { nodes: MenuItemNode[]; }; } interface MenusResponse { menus: { nodes: MenuNode[]; }; } /** * Get navigation menu from WordPress */ export async function navQuery(): Promise { try { const query = `{ menus(where: {location: PRIMARY}) { nodes { name menuItems { nodes { uri url order label } } } } }`; return await executeQuery(query, {}, "navigation"); } catch (error) { log.error("Error fetching nav: " + error); // Return fallback data for development return { menus: { nodes: [ { name: "Primary", menuItems: { nodes: [ { uri: "/", url: "/", order: 1, label: "Home" }, { uri: "/about/", url: "/about/", order: 2, label: "About" }, { uri: "/contact/", url: "/contact/", order: 3, label: "Contact", }, ], }, }, ], }, }; } }