import { getExecutors } from '../services/executors-service.js';
import { createElement } from '../utils/dom.js';
import { createMarqueeLoop, populateLoopedTrack } from '../animations/marquee-loop.js';
const EXECUTOR_ITEM_WIDTH_PX = 180;
const BASE_SPEED = 0.35;
const BOOSTED_SPEED = 2.2;
function createExecutorItem(executor) {
const el = createElement('div', 'executor-item');
const avatar = executor.image
? ``
: '';
el.innerHTML = `
${avatar}
${executor.name}
`;
return el;
}
export async function initExecutorsSection() {
const track = document.getElementById('executors-track');
if (!track) return;
try {
const executors = await getExecutors();
populateLoopedTrack(track, executors, createExecutorItem, EXECUTOR_ITEM_WIDTH_PX);
createMarqueeLoop(track, '--marquee-x', { baseSpeed: BASE_SPEED, boostedSpeed: BOOSTED_SPEED });
} catch (error) {
const wrap = document.querySelector('.executors-marquee-wrap');
if (wrap) {
wrap.innerHTML = '
executors unavailable.
'; } } }