import { getPartners } from '../services/partners-service.js'; import { createElement } from '../utils/dom.js'; import { observeReveals } from '../animations/reveal-observer.js'; import { shouldReduceEffects } from '../utils/device-capability.js'; function createPartnerItem(partner) { const item = createElement('div', 'partner-item'); let imgHTML; if (partner.logo) { if (partner.logoSmall) { imgHTML = `${partner.name}`; } else { imgHTML = `${partner.name}`; } } else { imgHTML = ''; } const inner = partner.link ? `${imgHTML}` : imgHTML; item.innerHTML = inner; return item; } export async function initPartnersSection() { const grid = document.getElementById('partners-grid'); if (!grid) return; try { const partners = await getPartners(); grid.innerHTML = ''; partners.forEach((partner) => grid.appendChild(createPartnerItem(partner))); if (shouldReduceEffects()) { grid.classList.add('in-view'); } else { observeReveals(grid); } } catch (error) { grid.innerHTML = ''; } }