import { fetchGraphQL } from './graphql-client.js'; import type { MenuItem } from '../types/graphql.js'; // Функция ДЛЯ ГЛАВНОГО МЕНЮ (максимум 5 пунктов) export async function getMainHeaderMenu(): Promise { const query = ` query GetMainHeaderMenu { menu(id: "103245", idType: DATABASE_ID) { menuItems( first: 5, # Берем только 5 where: {parentId: null} # Только верхний уровень ) { nodes { id label url target order cssClasses } } } } `; try { const data = await fetchGraphQL(query); const items = data.menu?.menuItems?.nodes || []; // Сортируем по order и гарантируем максимум 5 return items .sort((a: MenuItem, b: MenuItem) => a.order - b.order) .slice(0, 5); } catch (error) { console.error('Ошибка загрузки главного меню:', error); // Запасной вариант на случай ошибки (ровно 5 пунктов) return [ { id: '1', label: 'Главная', url: '/', order: 0 }, { id: '2', label: 'Каталог', url: '/catalog', order: 1 }, { id: '3', label: 'О нас', url: '/about', order: 2 }, { id: '4', label: 'Контакты', url: '/contacts', order: 3 }, { id: '5', label: 'Блог', url: '/blog', order: 4 } ]; } }